我有项目的问题,这是由其他真正有才华的人写的。
我尝试使用Maven将项目部署到远程主机
user@user:~/workspace/pip$ mvn -P production, partner clean install -Dmaven.test.skip=true
它构建成功,没有任何错误和警告。
"伙伴"是服务器machine.partner.rmm.com的简称。
但是当我想部署到新服务器partner-test.rmm.com
时user@user:~/workspace/pip$ mvn -P production, partner-test clean install -Dmaven.test.skip=true
......
[INFO] Reactor Summary:
[INFO]
[INFO] pip_part1 .................................... SUCCESS [4.574s]
[INFO] pip-part2 .................................... SUCCESS [3.677s]
[INFO] pip-part3 .................................... SUCCESS [5.178s]
[INFO] pip-part4 .................................... SUCCESS [3.857s]
[INFO] pip-part5 .................................... SUCCESS [0.134s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.861s
[INFO] Finished at: Thu Dec 04 11:46:24 MSK 2014
[INFO] Final Memory: 33M/285M
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "partner-test" could not be activated because it does not exist.
它构建,但写道伙伴测试不存在,它的逻辑,所以我没有添加任何地方的伙伴测试的信息。但是当我尝试使用全名
进行部署时,情况也是如此user@user:~/workspace/pip$ mvn -P production, partner-test.rmm.com clean install -Dmaven.test.skip=true
的pom.xml
的pom.xml
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.rmm.pipproject</groupId>
<artifactId>pip</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>pip-part1</module>
<module>pip-part2</module>
<module>pip-part3</module>
<module>pip-part4</module>
</modules>
我使用Eclipse Java IDE(版本:Kepler),Ubuntu 14.04,maven 1.7.0_65,ant 1.9.3。
我该怎么办?在哪里添加有关合作伙伴测试的信息?
p.s。:我知道我没有足够的知识,但我试图了解越来越多,我希望你能帮助我。我会感谢任何建议!
我想添加一些通知。
好吧,我说我的目标是使用Maven和Ant将项目部署到远程主机。 根据{{3}}的建议(非常感谢他!!!)我将profiles-tag添加到项目pip的pom.xml中。这对我很有帮助。结果是在下面的命令建立连接后。
user@user:~/workspace/pip$ mvn -P production, partner clean install -Dmaven.test.skip=true
user@user:~/workspace/pip-part1$ ant -p
user@user:~/workspace/pip-part1$ ant print-hosts
user@user:~/workspace/pip-part1$ ant deploy -Dhost=partner-test.rmm.com
&#34;伙伴测试&#34;是服务器partner-test.rmm.com的简称。我和#34;伙伴&#34;做了类比。 - machine.partner.rmm.com(我不知道它是如何完成的)。
所以现在pom.xml文件看起来像
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.rmm.pipproject</groupId>
<artifactId>pip</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<profiles>
<profile>
<id>partner-test</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server>partner-test.rmm.com</server>
</properties>
</profile>
</profiles>
<modules>
<module>pip-part1</module>
<module>pip-part2</module>
<module>pip-part3</module>
<module>pip-part4</module>
</modules>
</project>
它开始连接很棒,但我的目标还没有实现。我无法部署项目。
user@user:~/workspace/pip-part1$ ant deploy -Dhost=partner-test.rmm.com
Buildfile: /home/user/workspace/pip-part1/build.xml
check-dist-directory:
is-dist-exists:
deploy:
[echo] start
[scp] Connecting to partner-test.rmm.com:22
[scp] Connecting to partner-test.rmm.com port 22
[scp] Connection established
....
[scp] Authentications that can continue: publickey,keyboard-interactive,password
[scp] Next authentication method: publickey
[scp] Authentications that can continue: password
[scp] Next authentication method: password
[scp] Disconnecting from partner-test.rmm.com port 22
BUILD FAILED
显然它无法获得身份验证,尽管我已经在build.xml文件中编写了以公钥登录。
<target name="deploy" depends="check-dist-directory,is-dist-exists" description="deploy web application on production server">
<echo>start</echo>
<scp file="target/pip.war" todir="pip@${host}:/var/lib/tomcat6/pip" keyfile="${user.home}/.ssh/id_rsa" verbose="true"/>
<echo>end</echo>
</target>
答案 0 :(得分:0)
如果我正确理解了您的问题,您需要定义maven配置文件“partner-test”。您可以在不同位置定义配置文件:
pom.xml
)%USER_HOME%/.m2/settings.xml
)%M2_HOME%/conf/settings.xml
)profiles.xml
)请参阅Introduction to Build Profiles
您的Project Pom可能类似于:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
...
<profiles>
<profile>
<id>partner-test</id>
<activeByDefault>true</activeByDefault>
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
<id>test-parner</id>
<name>Corporate Repository</name>
<url>scp://repo/test-partner....</url>
<layout>default</layout>
</repository>
<snapshotRepository>
<uniqueVersion>true</uniqueVersion>
<id>testSnap</id>
<name>Propellors Snapshots</name>
<url>sftp://propellers.net/maven</url>
<layout>legacy</layout>
</snapshotRepository>
</distributionManagement>
</profile>
</profiles>
</project>
更多详细信息可在POM Reference页面找到。
答案 1 :(得分:0)
user@user:~/workspace/pip$ mvn -P production, partner clean install -Dmaven.test.skip=true
“partner”更可能是pom.xml文件中定义的配置文件。
您可以编辑该文件并添加其他个人资料“partner-test”(复制“合作伙伴”个人资料并更改您需要的内容)