Maven:使用其ftp地址在本地存储库中安装jar

时间:2017-12-11 10:09:15

标签: java eclipse maven ftp

我的maven本地存储库位于Windows机器上,我正在尝试使用eclipse使用jar的ftp地址(jar位于linux机器上)在此存储库中安装jar。以下是我的settings.xmlpom.xml

的settings.xml

   <server>
    <id>{server_address}</id>
    <username>username</username>
    <password>password</password>
    <configuration>
        <endpointChecking>false</endpointChecking>
    </configuration>
  </server>

的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.maven.bcone</groupId>
<artifactId>ArtifactName</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Sample</name>
<properties>
    <ics.version>17.4.5</ics.version>
    <ftp.dir>//sftp://username@{server_address}</ftp.dir>
</properties>

<dependencies>
    <dependency>
        <groupId>com.oracle.ics</groupId>
        <artifactId>cpi_omcs.jar</artifactId>
        <version>${ics.version}</version>
    </dependency>

</dependencies>
<build>
    <finalName>BuildName</finalName>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <version>2.5.2</version>
            <executions>
                <execution>
                    <id>install-cpi_omcs</id>
                    <phase>clean</phase>
                    <configuration>
                        <file>${ftp.dir}/home/steve/myJars/cpi_omcs.jar</file>
                        <groupId>com.oracle.ics</groupId>
                        <artifactId>cpi_omcs</artifactId>
                        <version>${ics.version}</version>
                        <packaging>jar</packaging>
                        <generatePom>true</generatePom>
                    </configuration>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
    <repositories>
        <repository>
            <id>{server_address}</id>
            <name>158_bcone</name>
            <url>sftp://username@{server_address}</url>
            <layout>default</layout>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
        </repository>
    </repositories>
  </project>

运行mvn:clean后,我得到以下错误

[错误]无法在项目BconeAdapter上执行目标org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file(install-cpi_omcs):指定的文件&#39; \\ sftp :\用户名@ {server_addres} \家\史蒂夫\ myJars \ cpi_omcs.jar&#39;不存在 - &gt; [帮助1]

jar文件存在于上述位置,但maven无法找到它。我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

我能够使用这些maven插件

来做到这一点
filter?.setValue(imageTapCoordinates, forKey: "inputFocusRect")

通过这些更改,无需在settings.xml中添加服务器详细信息

答案 1 :(得分:0)

也许您应该使用maven-wagon。我不确定maven-install-plugin是否可以处理网络路径。

其余部分是来自Apaches页面的完全复制和粘贴,因为它是使解决方案正常工作所需的最小基本信息

来自Apache maven deploy plugin page

  

要使用FTP部署工件,必须先指定使用   POM的distributionManagement元素中的FTP服务器的   以及在构建元素中指定将拉出的扩展名   在使用FTP部署所需的FTP工件中:

<distributionManagement>
   <repository>
     <id>ftp-repository</id>
     <url>ftp://repository.mycompany.com/repository</url>
   </repository>
</distributionManagement>

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

您的settings.xml将包含一个服务器元素,其中包含id   element匹配上面POM中指定的FTP存储库的id:

<settings>
   ...
   <servers>
      <server>
         <id>ftp-repository</id>
         <username>user</username>
         <password>pass</password>
      </server>
  </servers>
  ...
</settings>
  

当然,您应确保可以登录指定的   在尝试使用Maven进行部署之前,请手动使用FTP服务器。一旦   您已验证所有内容都已正确设置,您现在可以   使用Maven部署您的工件:

mvn deploy