Maven跳过依赖文件?

时间:2011-05-16 22:42:04

标签: maven

我正在为我的项目使用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会这样做?感谢您对此的帮助。感谢

2 个答案:

答案 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}

如果以上情况没有帮助,请适当更新您的问题。