首页 > 解决方案 > 直接在基于maven的项目的java构建路径中添加jar文件而不在pom文件中添加其条目时构建失败?

问题描述

我有一个基于 Maven 的项目。而且我有几个依赖项是我们的自定义依赖项。

现在到现在,如果我在 java 构建路径中添加这些依赖项并使用它们在 pom 文件中输入

   <dependency>
        <groupId>abc</groupId>
        <artifactId>abc</artifactId>
        <scope>system</scope>
        <version>1.0</version>
        <systemPath>${basedir}\src\lib\abc.jar</systemPath>
    </dependency>

并使项目构建然后它工作正常。

但是当我尝试通过删除它在 pom 文件中的条目时,因为我已经在 java build path 中添加了 build failed with error's package com.abc does not exist

我想知道为什么它会失败,因为通过在动态java项目(不是maven)中的java构建路径中添加条目,它工作正常并且构建被创建。

我有这样的依赖 在此处输入图像描述

标签: javamavenbuildpath

解决方案


Maven 想要存储库中的依赖项。使用系统范围会在未来带来有趣的痛苦!

首先,如果您可以找到您使用的 jar 的 mavenized 版本,然后切换到这些版本。如果没有,则将它们安装到您的本地存储库(.m2 文件夹)mvn install:install-file或您的内部 Maven 存储库(Nexus、Artifactory 等)。

在我遇到类似情况的时候,我最终将安装作为构建的一部分进行,作为临时解决方案效果很好。您可以在https://stackoverflow.com/a/10803426/53897查看接受的答案


推荐阅读