这是一个现有项目,可以使用Intellij + AS7很好地构建和部署。我想使用Netbeans 7.3.1进行构建和部署,因此我在NetBeans中创建了一个新的Maven项目,选择“使用Maven pom.xml文件导入项目”选项。 NetBeans识别了模块,并使用Maven成功构建了项目。非常好。

Webapp assembled in [931 msecs]
Building war: G:\Patrac_Netbeans\Patrac-web\target\Patrac-web-1.0.war

接下来,我使用NetBeans的“服务”面板启动JBoss。接下来,我单击“运行项目”按钮,期望进行部署,但是NetBeans仅再次重建了项目。然后,我记得将Intellij配置为使用目标目录进行构建和部署。我在NetBeans中看不到做到这一点的方法。那么,如何使用NetBeans设置部署?

2013年8月20日更新:

EJB和WAR模块的部署有效。这是部署EJB时的输出:

cd G:\ Patrac_Netbeans \ Patrac-ejb; “JAVA_HOME = C:\ Program Files \ Java \ jdk1.7.0_25”“\” G:\ Program Files \ NetBeans 7.3.1 \ java \ maven \ bin \ mvn.bat \“” -Dnetbeans.deploy = true程序包

正在扫描项目...

构建Patrac EJB模块1.0

...

建立成功

总时间:8.251s

在2013年8月20日星期二14:33:38完成

最终内存:22M / 364M

NetBeans:在JBoss应用服务器上部署
profile mode: false
debug mode: false
force redeploy: true

将G:\ Patrac_Netbeans \ Patrac-ejb \ target \ Patrac-ejb.jar分发到[org.jboss.as.ee.deployment.spi.DeploymentManagerTarget@45fbf23c]

部署G:\ Patrac_Netbeans \ Patrac-ejb \ target \ Patrac-ejb.jar

但是,当我尝试运行整个应用程序时,NetBeans不会部署:

cd G:\ Patrac_Netbeans; “JAVA_HOME = C:\ Program Files \ Java \ jdk1.7.0_25”“\” G:\ Program Files \ NetBeans 7.3.1 \ java \ maven \ bin \ mvn.bat \“” -Dnetbeans.deploy = true程序包

正在扫描项目...

反应堆建造顺序:

帕斯卡

Patrac EJB模块

Patrac Web模块

建立PATRAC 1.0-SNAPSHOT

...

构建Patrac EJB模块1.0

...

构建Patrac Web模块1.0

...

[战争:战争]

包装webapp

在[G:\ Patrac_Netbeans \ Patrac-web \ target \ Patrac.war]中组装webapp [Patrac-web]

处理战争项目

复制Web应用程序资源[G:\ Patrac_Netbeans \ Patrac-web \ src \ main \ webapp]

Webapp的组装时间为[557毫秒]

建立战争:G:\ Patrac_Netbeans \ Patrac-web \ target \ Patrac-web-1.0.war

反应堆摘要:

PATRAC-医师助理跟踪.............成功[0.043s]

Patrac EJB模块.................................成功[8.100s]

Patrac Web模块.................................成功[2.324s]

建立成功

总时间:10.882秒

在2013年8月20日星期二14:17:34完成

最终内存:25M / 366M

为什么世界上没有部署NetBeans?也许问题在于它不知道组装好的WAR的位置?查看输出,它从G:\Patrac_Netbeans运行Maven,这是根POM所在的位置。但是,已组装的WAR位于G:\Patrac_Netbeans\Patrac-web\target\Patrac.war中。

更新2013年8月21日:

供插件配置如下:
            <plugin>
                <groupId>org.jboss.as.plugins</groupId>
                <artifactId>jboss-as-maven-plugin</artifactId>
                <version>7.4.Final</version>
            </plugin>

正如@happymeal正确指出的(请参阅下面的评论),仅通过查看Maven的输出,插件就无法运行。感谢@James R. Perkins,我意识到实际上有两个插件:jboss-maven-pluginjboss-as-maven-plugin,因为我使用的是后者插件,所以我使用了错误的目标:jboss:deploy而不是jboss-as:deploy。更正此错误并在Netbeans中重新运行项目,发生以下错误:
Caused by: java.io.FileNotFoundException: G:\Patrac_Netbeans\target\Patrac-1.0-SNAPSHOT.maven-project (The system cannot find the path specified)

接下来,我添加了一些配置参数,这些参数最终解决了该问题:
            <plugin>
                <groupId>org.jboss.as.plugins</groupId>
                <artifactId>jboss-as-maven-plugin</artifactId>
                <version>7.4.Final</version>
                <configuration>
                    <force>true</force>
                    <targetDir>G:\Patrac_Netbeans\Patrac-web\target</targetDir>
                    <filename>Patrac-web-1.0.war</filename>
                </configuration>
            </plugin>

问题解决了!

最佳答案

netbeans中“运行项目”按钮的默认maven目标是package。这个目标会建立专案,但不会部署您的应用程式。

您可以通过以下方式更改此设置:

  • 右键单击您的项目,然后转到属性。
  • 在类别面板下的
  • 中,选择操作。
  • 选择“运行项目”操作,然后编辑“执行目标”文本框(例如jboss:start)。

  • 请注意,您将需要jboss maven plugin

    关于maven - 如何使用Netbeans 7.3.1 + JBoss AS7部署WAR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18325892/

    10-10 09:22