上面的 ant 解决方案最容易配置,但我很幸运地使用了 Atlassian 的 maven-upload-plugin。我找不到好的文档,这是我的使用方法:
<build>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-upload-plugin</artifactId>
<version>1.1</version>
<configuration>
<resourceSrc>
${project.build.directory}/${project.build.finalName}.${project.packaging}
</resourceSrc>
<resourceDest>${jboss.deployDir}</resourceDest>
<serverId>${jboss.host}</serverId>
<url>${jboss.deployUrl}</url>
</configuration>
</plugin>
</build>
上面引用的“${jboss.host}”等变量在我的 ~/.m2/settings.xml 中定义,并使用 maven 配置文件激活。此解决方案不受 JBoss 限制,这正是我命名变量的名称。我有一个用于开发、测试和实时的配置文件。因此,要将我的耳朵上传到测试环境中的 jboss 实例,我将执行:
mvn upload:upload -P test
这是来自 settings.xml 的片段:
<server>
<id>localhost</id>
<username>username</username>
<password>{Pz+6YRsDJ8dUJD7XE8=} an encrypted password. Supported since maven 2.1</password>
</server>
...
<profiles>
<profile>
<id>dev</id>
<properties>
<jboss.host>localhost</jboss.host>
<jboss.deployDir>/opt/jboss/server/default/deploy/</jboss.deployDir>
<jboss.deployUrl>scp://root@localhost</jboss.deployUrl>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<jboss.host>testserver</jboss.host>
...
注意:有这个插件的 Atlassian maven repo 在这里:https ://maven.atlassian.com/public/
我建议下载源代码并查看里面的文档以查看插件提供的所有功能。
`