在部署到maven时,上传会永久挂起

时间:2015-05-12 11:23:15

标签: maven deployment artifactory maven-release-plugin

我正在将库部署到我的远程maven存储库。

当我运行iframe或只是mvn -U deploy时,在上传工件时,一切看起来都很好。它只是挂在那里永远

就像这样:

mvn deploy

我已阅读herehereherehere,但这些都与下载相关,而非上传。我可以下载很好,但上传我的工件它只是挂起。这些链接与以前的maven版本中的一些错误有关,我使用Uploading: http://maven.mycompany.com/server-product/com/mycompany/product/server/common/Common/3.0/Common-3.0.jar 213/213 KB

远程服务器正在运行Apache Maven 3.3.3

任何人都知道问题出在哪里?我做错了什么?

这是我的settings.xml文件:

Artifactory 3.6.0 (rev. 30178)

这是我的pom.xml:

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

这是<?xml version="1.0" encoding="UTF-8"?> <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.myCompany.product.server.common</groupId> <artifactId>Common</artifactId> <version>3.0</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> (dependencies...) </dependencies> <distributionManagement> <repository> <id>myCompany Maven</id> <name>myCompany Maven-releases</name> <url>http://maven.myCompany.com/server-product</url> </repository> </distributionManagement> </project>

的输出
mvn deploy

7 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,正是在执行release:perform时。它在上传时卡住了。我的解决方案是添加一个插件,在构建部分中更改一些版本和一个groupId:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.7</version>
                <dependencies>
                    <dependency>
                        <groupId>com.google.code.maven-svn-wagon</groupId>
                        <artifactId>maven-svn-wagon</artifactId>
                        <version>1.4</version>
                    </dependency>
                </dependencies>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <dependencies>
                    <dependency>
                        <groupId>org.jvnet.wagon-svn</groupId>
                        <artifactId>wagon-svn</artifactId>
                        <version>1.12</version>
                    </dependency>
                </dependencies>
            </plugin>

答案 1 :(得分:0)

我遇到了类似的问题,解决方法是添加&#34; artifactory&#34;到服务器路径。在跟踪实际的HTTP流量后,我可以看到,对于下载,服务器正确地重定向Maven  http://maven.myCompany.com/libs-releasehttp://maven.myCompany.com/artifactory/libs-release 但对于上传,此重定向无法正常工作

所以我的答案是改变我的pom以包含正确的路径并避免重定向:

<distributionManagement>
    <repository>
        <id>myCompany Maven</id>
        <name>myCompany Maven-releases</name>
        <url>http://maven.myCompany.com/artifactory/lib-snapshot-local</url>
    </repository>
</distributionManagement>

答案 2 :(得分:0)

在我的情况下,我注意到当系统从远程存储库下载一个小的预先存在的文件时,部署过程挂起,并且似乎有不正确的字节数(例如报告已下载&#34; 1009 / 1008字节&#34;)。当人们从不同的操作系统环境部署时,这似乎偶尔会发生。我无疑解决这个问题的方法不那么理想,就是登录远程存储库并删除有问题的文件;当我下次尝试部署同一个项目时,这似乎解决了这个问题。

答案 3 :(得分:0)

对我来说,在构建/插件中将其添加到POM是至关重要的一步:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.8.2</version>
    <dependencies>

        <dependency>
            <!-- on its own, this very old plugin seems to include very old versions 
                of wagon-ssh, jsch and svnkit -->
            <groupId>com.google.code.maven-svn-wagon</groupId>
            <artifactId>maven-svn-wagon</artifactId>
            <version>1.4</version>
        </dependency>

        <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>2.10</version>
        </dependency>

        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.53</version>
        </dependency>

        <dependency>
            <groupId>org.tmatesoft.svnkit</groupId>
            <artifactId>svnkit</artifactId>
            <version>1.8.12</version>
        </dependency>

    </dependencies>
</plugin>

答案 4 :(得分:0)

当支持数据库是mysql并且它存储其二进制日志的分区空间不足时,这发生在我身上。 Mysql挂起,导致arifactory在上传过程中挂起。释放该分区上的一些空间立即解决了这个问题。

答案 5 :(得分:0)

我有类似的问题。 mvn deploy几乎完成上传,然后就会挂起。这个问题原来是我的凭据。

答案 6 :(得分:-1)

就我而言,解决方案非常简单,但是,我花了四到五天时间才发现它,等待4分钟/部署……..问题是....... ....防病毒!!! ...关闭它,瞧,每次部署20秒。

谢谢