2012-04-02 154 views
3

我有几个模块的maven项目。需要将所有模块(罐子和一个结果战争)部署到远程Artifactory服务器。 所以在settings.xml中,我添加的配置:Maven部署错误

<?xml version="1.0" encoding="UTF-8"?> 
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <servers> 
    <server> 
     <username>admin</username> 
     <password>password</password> 
     <id>central</id> 
    </server> 
    <server> 
     <username>admin</username> 
     <password>password</password> 
     <id>snapshots</id> 
    </server> 
    </servers> 
    <profiles> 
    <profile> 
     <repositories> 
     <repository> 
      <id>central</id> 
      <name>libs-release</name> 
      <url>http://192.168.1.120:8088/artifactory/libs-release</url> 
     </repository> 
     <repository> 
      <snapshots /> 
      <id>snapshots</id> 
      <name>libs-snapshot</name> 
      <url>http://192.168.1.120:8088/artifactory/libs-snapshot</url> 
     </repository> 
     </repositories> 
     <pluginRepositories> 
     <pluginRepository> 
      <snapshots> 
      <enabled>false</enabled> 
      </snapshots> 
      <id>central</id> 
      <name>plugins-release</name> 
      <url>http://192.168.1.120:8088/artifactory/plugins-release</url> 
     </pluginRepository> 
     <pluginRepository> 
      <snapshots /> 
      <id>snapshots</id> 
      <name>plugins-snapshot</name> 
      <url>http://192.168.1.120:8088/artifactory/plugins-snapshot</url> 
     </pluginRepository> 
     </pluginRepositories> 
     <id>artifactory</id> 
    </profile> 
    </profiles> 
    <activeProfiles> 
    <activeProfile>artifactory</activeProfile> 
    </activeProfiles> 
</settings> 

主要POM有节:

<distributionManagement> 
    <repository> 
     <id>central</id> 
     <url>http://192.168.1.120:8088/artifactory/libs-release-local</url> 
    </repository> 
    <snapshotRepository> 
     <id>snapshots</id>   
     <url>http://192.168.1.120:8088/artifactory/libs-snapshot-local</url> 
    </snapshotRepository> 
    </distributionManagement> 

以及所有模块1.0-SNAPSHOT版本。 但在执行命令时:>mvn deploy,出现下列错误:

[错误]未能执行目标 org.apache.maven.plugins:行家 - 部署 - 插件:2.5:部署 (默认部署)关于项目工作:部署工件失败:可能 不能传递工件* project-name:project-nam * e:pom:0.0.1从/到中央 (http://192.168.1.120:8088/artifactory/libs -release-local):未能到 传输文件: http://192.168.1.120:8088/artifactory/libs-release-local/project-name/project-name/0.0.1/project-name-0.0.1.pom。 返回码是:401 - > [帮助1]

如何处理?

UPDATE:

好吧,我知道了。 401错误说:401 =“未经授权”。所以我在settings.xml中添加了正确的用户名/密码。似乎现在工作。

还有最后一个问题:是的,我在版本中使用SNAPSHOT后缀?当我需要将所有模块部署到远程回购时,情况是否正确?如何处理这种情况,当一个模块被破坏,我的同事需要使用此模块的以前版本?

+0

你已经在你的pom文件中自己写了'hhttp'。只是我猜错了。 – 2012-04-02 09:31:22

+0

我不确定你在说模块时意味着什么。但是如果你的意思是像ejb耳朵测试这样的模块,并且它们都有自己的快照,并且那个模块已经坏了,那么我认为它们可以用破碎的快照进行工作。当然,您必须将所有快照保存在您的存储库中,并且您必须做的就是将损坏的快照更改为旧快照。我希望这会有所帮助。 – mbaydar 2012-04-02 10:15:19

+0

模块 - 作为独立项目。 http://docs.codehaus.org/display/MAVENUSER/Multi-modules+projects。无论如何,Tnx。 – vacuum 2012-04-02 10:21:42

回答

2

这可能是因为它写错了。 您可以将其更改为http并重试。

+0

yeap,这是我的错误。修复了这个问题,但现在服务器返回了401错误。我会更新我的问题。 – vacuum 2012-04-02 09:33:08

+0

该链接> http://192.168.1.120:8088/artifactory/libs-release-local 工作正常,并显示我的文件列表 和链接http://192.168.1.120:8088/artifactory/libs-snapshot本地工作也很好,但返回_没有项目找到_ – vacuum 2012-04-02 09:39:33

+0

我既不能都达到。它可能只适用于本地或其可访问性选项导致问题。我想你应该检查第二个链接,看看你真的有没有找到的文件。 – mbaydar 2012-04-02 09:44:41