【发布时间】:2017-12-11 10:09:15
【问题描述】:
我的 Maven 本地存储库位于 Windows 机器上,我正在尝试使用 eclipse 使用 jar 的 ftp 地址在此存储库中安装 jar(jar 位于 linux 机器上)。这是我的settings.xml 和pom.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):指定文件 '\\sftp:\username @{server_addres}\home\steve\myJars\cpi_omcs.jar' 不存在 -> [帮助 1]
jar 文件存在于上述位置,但 maven 无法找到它。我在这里错过了什么?
【问题讨论】:
-
你也设置
{path_to_jar_on_server}吗? -
不,我写它只是为了代表目的。
{path_to_jar_on_server}实际上是服务器上的有效路径。让我更改它以避免混淆。 -
你有 ftp.dir = //sftp://username@{server_address}?领先的
//有效/需要吗?为什么那些反斜杠 `\` 异常? Windows 会转换它们吗? -
1.如果我没有使用前导
//斜杠,那么它会解释来自 Eclipse 工作区的路径。例如如果我在 Windows 上的工作区位于:D:/steve/java then without//斜杠解释的路径是D:/steve/java/sftp:/username@{server_address}2. 我猜是 Windows 本身正在转换异常中的反斜杠。 -
为什么使用 ftp 作为安装协议?默认使用 http(s) 将工件部署到存储库管理器...您为什么要这样做?