首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何告诉Maven包含jar依赖项,而不是Eclipse中的子项目源目录?

如何告诉Maven包含jar依赖项,而不是Eclipse中的子项目源目录?
EN

Stack Overflow用户
提问于 2012-09-25 06:17:09
回答 6查看 32.5K关注 0票数 14

我使用Apache来管理我的Java库(jar)和一些使用libs的项目。为了方便起见,我使用mvn eclipse:eclipse生成Eclipse文件,这些文件可以导入Eclipse工作区进行编辑。

在同一个Eclipse工作区中编辑主项目和Java项目时会出现问题。也就是说,mvn eclipse:eclipse.classpath文件中包含src路径依赖项,而不是预期的jar依赖项。

假设我有一个名为mylib的Jave项目。相应的jar文件mylib.jar已经部署到我维护的私有Maven回购中。为了在主项目中使用mylib.jar,pom.xml中包含了以下依赖项。

代码语言:javascript
运行
复制
<!-- pom.xml for the main project -->
<dependency>
  <groupId>namespace.my</groupId>
  <artifactId>mylib</artifactId>
  <version>[1.0, )</version>
</dependency>

mvn compilemvn test工作得很完美,其中mylib.jar是从我的回购中自动下载的。但是,在尝试mvn eclipse:eclipse时,我发现生成的.classpath文件不像预期的那样包含mylib.jar依赖项。相反,它包含mylib的源文件目录,如下所示。

代码语言:javascript
运行
复制
<!-- .classpath file generated by mvn eclipse:eclipse -->
<classpathentry kind="src" path="/mylib"/>

Maven似乎读取Eclipse的元数据,并在同一个工作区中找到mylib和主项目共存。因此,maven包含了我的好消息来源。见鬼。我如何告诉maven忽略本地项目源,只包含jar文件?

EN

Stack Overflow用户

发布于 2012-09-25 08:07:23

谢谢猎犬的提示。是的,useProjectReferences控制Maven如何处理子项目--包括源dir或包含jar文件。

我还没有为Eclipse安装maven插件,所以我在pom.xml中添加了以下配置。它告诉Maven在本地maven repo中包含jar依赖项,而不是源dir。如果本地回购中不存在所需的jar文件,则将自动下载该文件。

代码语言:javascript
运行
复制
  <!-- pom.xml for the main project: include jar, not src path -->
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.9</version>
    <configuration>
            <useProjectReferences>false</useProjectReferences>
    </configuration>
  </plugin>

现在,mvn eclipse:eclipse按预期工作。

票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12577175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档