我希望将战争文件与部署在存储库中的文件一起部署在服务器部署目录(或我选择的任何目录)中。另外,我可以控制部署的war文件的名称吗,我不希望war文件是projectname-1.0.war,我只希望war文件的名称是projectname.war。
谢谢,
拉维
多谢你们,
我让它工作了。这就是我所做的。
我在我的 pom.xml 文件中添加了这个
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>mavenproject1</warName>
<outputDirectory>C:\jboss-5.1.0.GA\server\default\deploy</outputDirectory>
</configuration>
</plugin>
</plugins>
这解决了我的命名和放置战争文件。
拉维
第一个选项是使用允许通过 JMX 启动/停止 JBoss 和部署/取消部署应用程序的JBoss Maven 插件。
您的配置必须将位置设置为您的 JBoss 主目录。这可以通过jbossHome
在插件配置中使用标签设置主目录来完成:
<project>
...
<build>
<defaultGoal>package</defaultGoal>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jboss-maven-plugin</artifactId>
<configuration>
<jbossHome>C:/jboss-5.1.0.GA</jbossHome>
</configuration>
</plugin>
...
</plugins>
...
</build>
...
</project>
然后,只需使用此处定义的目标之一,例如:
$ mvn jboss:deploy
另一种选择是使用Cargo Maven Plugin。下面是您可以添加到您的战争项目的插件配置示例:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<wait>false</wait>
<container>
<containerId>jboss5x</containerId>
<home>C:/jboss-5.1.0.GA</home>
</container>
<configuration>
<type>existing</type>
<properties>
...
</properties>
</configuration>
</configuration>
<plugin>
然后,将“可部署”(这里是您的战争)部署到正在运行的容器:
$ mvn cargo:deploy
“部署”可能听起来非常技术性,但它只是将文件复制到部署目录。在某些情况下,您可能必须重新启动服务器。
要更改文件的部署方式,请使用 pom.xml 的 build 部分中的标记来指定包名称。
http://maven.apache.org/plugins/maven-jar-plugin/sign-mojo.html