我正在为我的项目使用maven。我有5个本地jar文件作为依赖文件,我在pom.xml中指定如下:
<dependency>
<groupId>EWSAPI</groupId>
<artifactId>EWSAPI</artifactId>
<version>1.1</version>
<scope>system</scope>
<systemPath>${basedir}/EWSAPI1.1.jar</systemPath>
</dependency>
<dependency>
<groupId>jcifs</groupId>
<artifactId>jcifs</artifactId>
<version>1.3.15</version>
<scope>system</scope>
<systemPath>${basedir}/jcifs-1.3.15.jar</systemPath>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.4</version>
<scope>system</scope>
<systemPath>${basedir}/commons-codec-1.4.jar</systemPath>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
<scope>system</scope>
<systemPath>${basedir}/commons-httpclient-3.1.jar</systemPath>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
<scope>system</scope>
<systemPath>${basedir}/commons-logging-1.1.1.jar</systemPath>
</dependency>
现在,当我在命令提示符下尝试mvn install来安装依赖项时。我收到以下消息
The following files where skipped:
EWSAPI:EWSAPI:java-source:sources:1.1
commons-codec:commons-codec:java-source:sources:1.4
commons-httpclient:commons-httpclient:java-source:sources:3.1
commons-logging:commons-logging:java-source:sources:1.1.1
并且还跳过了一个文件jfis(与上面作为依赖项提到的相同)
我不明白为什么maven会这样做?感谢您对此的帮助。感谢
答案 0 :(得分:1)
尝试这样的事情:
<repositories>
<repository>
<id>my-internal-site</id>
<url>file:///${basedir}</url>
</repository>
</repositories>
然后删除系统路径参数。
另外,你确定范围应该是系统吗?
答案 1 :(得分:1)
从问题来看,目前尚不清楚你想要做什么。
一方面,您提到I have 5 local jar files as dependent files
,并在<system>
中使用pom.xml
范围指定了它们。另一方面,你提到运行mvn install
to install the dependencies
。
除非有令人信服的理由,否则您应该避免<system>
范围,特别是对于第三方依赖(例如commons-codec
)。
mvn install
构建指定的项目并在本地存储库中安装它。它没有安装 dependencies
。
单独下载后,您可以使用mvn install:install-file <params>
install
依赖到本地存储库。他们未在installed
中获得${basedir}
。
如果以上情况没有帮助,请适当更新您的问题。