这是一个现有项目,可以使用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-plugin
和jboss-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/