0

這裏是Maven項目的爲什麼maven部署擴展wagon-ftp不工作?

mvn -v

Apache Maven 3.3.3 (79941 ... d4a06; 2015-04-22T17:57:37+06:00) 
Maven home: /path/to/apache-maven-3.3.3 
Java version: 1.7.0_67, vendor: Oracle Corporation 
Java home: /path/to/java/jdk1.7.0_67/jre 
Default locale: en_US, platform encoding: Cp1252 
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" 

pom.xml

<?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/maven-v4_0_0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 

    <artifactId>chorke-base-parent</artifactId> 
    <groupId>com.chorke.base</groupId> 
    <version>1.0.00-SNAPSHOT</version> 
    <name>chorke-base-parent</name> 
    <packaging>pom</packaging> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.2.4.RELEASE</version> 
     <relativePath /> 
    </parent> 

    <properties> 
     <maven.compiler.target>1.7</maven.compiler.target> 
     <maven.compiler.source>1.7</maven.compiler.source> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <maven.build.timestamp.format>EEE, MMM dd yyyy, HH:mm Z</maven.build.timestamp.format> 
    </properties> 

    <distributionManagement> 
     <repository> 
      <id>releases.ftp</id> 
      <url>ftp://127.0.0.1/maven2/releases</url> 
     </repository> 
     <snapshotRepository> 
      <id>snapshots.ftp</id> 
      <url>ftp://127.0.0.1/maven2/snapshots</url> 
      <uniqueVersion>false</uniqueVersion> 
     </snapshotRepository> 
    </distributionManagement> 

    <modules> 
     <module>chorke-comn-parent</module> 
    </modules> 

    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-jar-plugin</artifactId> 
        <version>2.5</version> 
        <configuration> 
         <excludes> 
          <exclude>**/*.md</exclude> 
          <exclude>**/*.groovy</exclude> 
          <exclude>**/.gitkeep</exclude> 
          <exclude>**/.gitignore</exclude> 
         </excludes> 
        </configuration> 
       </plugin> 

       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-source-plugin</artifactId> 
        <version>2.4</version> 
        <executions> 
         <execution> 
          <id>attach-sources</id> 
          <phase>verify</phase> 
          <goals> 
           <goal>jar</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </pluginManagement> 

     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-eclipse-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-clean-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-resources-plugin</artifactId> 
      </plugin> 
     </plugins> 

     <extensions> 
      <extension> 
       <groupId>org.apache.maven.wagon</groupId> 
       <artifactId>wagon-ftp</artifactId> 
       <version>2.4</version> 
      </extension> 
     </extensions> 
    </build> 

    <repositories> 
     <repository> 
      <id>snapshots</id> 
      <url>http://127.0.0.1/maven2/snapshots</url> 
      <snapshots><enabled>true</enabled><updatePolicy>interval:240</updatePolicy></snapshots> 
      <releases><enabled>false</enabled><updatePolicy>never</updatePolicy></releases> 
     </repository> 
     <repository> 
      <id>releases</id> 
      <url>http://127.0.0.1/maven2/releases</url> 
      <snapshots><enabled>false</enabled><updatePolicy>never</updatePolicy></snapshots> 
      <releases><enabled>true</enabled><updatePolicy>daily</updatePolicy></releases> 
     </repository> 
    </repositories> 

</project> 

settings.xml

<settings 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/settings-1.0.0.xsd"> 

    <localRepository>/path/to/local/repo</localRepository> 
    <servers> 
    <server> 
     <id>releases</id> 
     <configuration> 
      <httpHeaders> 
       <property> 
        <name>Authorization</name> 
        <value>Basic bWF2ZW46cGFzc3dvcmQ==</value> 
       </property> 
      </httpHeaders> 
     </configuration> 
    </server> 
    <server> 
     <id>snapshots</id> 
     <configuration> 
      <httpHeaders> 
       <property> 
        <name>Authorization</name> 
        <value>Basic bWF2ZW46cGFzc3dvcmQ==</value> 
       </property> 
      </httpHeaders> 
     </configuration> 
    </server> 
    <server> 
     <id>releases.ftp</id> 
     <username>maven</username> 
     <password>password</password> 
    </server> 
    <server> 
     <id>snapshots.ftp</id> 
     <username>maven</username> 
     <password>password</password> 
    </server> 
    </servers> 
</settings> 

該項目成功地執行了夏日與jdk1.6.0_##mvn clean install -Njdk1.7.0_##。而我追加部署jdk1.7.0_##例如:mvn clean install deploy -N它產生以下STRACK:

Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project chorke-base-parent: Failed to retrieve remote metadata com.chorke.base:chorke-base-parent:2.0.00-SNAPSHOT/maven-metadata.xml: Could not transfer metadata com.chorke.base:chorke-base-parent:2.0.00-SNAPSHOT/maven-metadata.xml from/to snapshots.ftp (ftp://127.0.0.1/maven2/snapshots): Error transferring file via FTP: Connection reset -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project chorke-base-parent: Failed to retrieve remote metadata com.chorke.base:chorke-base-parent:2.0.00-SNAPSHOT/maven-metadata.xml: Could not transfer metadata com.chorke.base:chorke-base-parent:2.0.00-SNAPSHOT/maven-metadata.xml from/to snapshots.ftp (ftp://127.0.0.1/maven2/snapshots): Error transferring file via FTP 

Caused by: java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:196) 
    at java.net.SocketInputStream.read(SocketInputStream.java:122) 
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283) 
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325) 
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177) 
    at java.io.InputStreamReader.read(InputStreamReader.java:184) 
    at java.io.BufferedReader.fill(BufferedReader.java:154) 
    at java.io.BufferedReader.read(BufferedReader.java:175) 
    ... more 

請您幫我與jdk1.7.0_##或更大spring-boot子模塊配置wagon-ftp完美?

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.2.4.RELEASE</version> 
    <relativePath /> 
</parent> 
+0

此外,爲什麼不使用真正的存儲庫管理器...像Nexus/Artifactory – khmarbaise

+0

這裏的所有版本看起來像一個更加[最新版的旅行車](http://maven.apache.org/wagon/)紅色鯡魚,錯誤信息表示運行在本地主機((ftp://127.0.0.1/maven2/snapshots))上的FTP服務器不合作(Connection reset)。 – Gimby

+0

這些是私有存儲庫嵌入'pom.xml'的地方像'Nexus/Artifactory'這樣的公共倉庫是在'$ M2_HOME/conf/settings.xml'中全局配置的,這些都不是異常的原因,沒有像'wagon-ftp'或'maven-deploy- plugin'異常的原因 –

回答

0

其實這個問題由我發生因IPv6的使用的Java 7。這個問題通過簡單的解決,把選項放在 _JAVA_OPTIONS 環境變量。例如,在Linux上,把你的~/.profile~/.bash_profile如下:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true" 

感謝說不完的Gimby他的引導線,以解決該問題。

+0

請記住,您的問題並未消失:您的環境未設置爲正確處理IPv6,並且很快就會發生。 – Gimby