【问题标题】:Maven in-project repository doesn't workMaven 项目内存储库不起作用
【发布时间】:2014-11-06 04:03:36
【问题描述】:

这是我的 pom.xml 文件:

<project ...>

    <repositories>
        <repository>
            <id>lib</id>
            <name>lib</name>
            <releases>
                <enabled>true</enabled>
                <checksumPolicy>ignore</checksumPolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <url>file://${project.basedir}/src/lib</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>oracle.jdbc</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.4</version>
        </dependency>
        ...
    <dependencies>
    ...
</project>

但是标签上显示错误:Missing artifact oracle.jdbc:ojdbc6:jar:11.2.0.4

目录结构是这样的:

test-project/
  src/
    lib/
      oracle/
        jdbc/
          ojdbc6/
            11.2.0.4/
              ojdbc6-11.2.0.4.jar

pom.xml 文件中缺少什么或目录结构错误?

【问题讨论】:

    标签: maven jar repository pom.xml libraries


    【解决方案1】:

    搜索了几个小时后,最终发现answer 适合我。

    您的 settings.xml 文件声明了一个包罗万象的镜像。这对 pom 文件中的本地存储库声明生效。要么删除包罗万象的镜像,要么尝试从镜像中排除项目存储库的存储库 ID:

    在您的MAVEN/conf/settings.xml 中将&lt;mirror&gt;*&lt;/mirror&gt; 替换为&lt;mirror&gt;*,!lib&lt;/mirror&gt;

    【讨论】:

      【解决方案2】:

      最好的解决方案是开始使用存储库管理器(Artifactory、Nexus、Archiva)并在那里安装 oracle jdbc 驱动程序,然后您可以简单地将其用作依赖项。

      如果您真的不喜欢使用存储库管理器,我可以推荐 non-maven-jar-maven-plugin.

      【讨论】:

        【解决方案3】:

        这是 Windows 上的解决方案,但很有趣:

        替换

        file://${project.basedir}/src/lib
        

        通过

        file://${project.basedir}\src\lib
        

        参考: 见评论:http://blog.dub.podval.org/2010/01/maven-in-project-repository.html

        【讨论】:

          猜你喜欢
          • 2017-11-15
          • 2015-02-22
          • 2015-07-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多