【发布时间】:2012-01-25 04:58:17
【问题描述】:
我们正在尝试管理一个由多个 Eclipse 插件组成的项目。
一个插件依赖于第 3 方插件。它从名为 bpmn2 的库中导入一个类。该库是一个 jar 文件,不包含在 Maven 远程存储库中。
在本地,在 Eclipse 中,我们将库签出到工作区并在 Eclipse 项目的类路径中引用。插件清单没有明确声明对 bpmn2 的依赖关系。哪个在本地有效...
我们尝试使用 Jenkins 进行持续集成。 Multi-Plug-in-Project 使用 Maven 和多个 POM 文件进行管理,使用 Maven tycho 插件。
问题在于 Maven 不关心本地存在的库 bpmn2(当然)。所以我们认为使用 Maven install:install 将 bpmn2 安装到本地 Maven 仓库
./mvn install:install-file -Dfile=/home/someUser/bpmn2/org.eclipse.bpmn2_0.7.0.201111021300.jar -DgroupId=org.eclipse.bpmn2 -DartifactId=bpmn2 -Dversion=0.7.0 -Dpackaging=jar -DlocalRepositoryPath=/var/lib/jenkins/localRep/
并使用库的依赖项来调整相应的 POM
<dependencies>
<dependency>
<groupId>org.eclipse.bpmn2</groupId>
<artifactId>bpmn2</artifactId>
<version>0.7.0</version>
<type>jar</type>
</dependency>
</dependencies>
会起作用的。但它没有。
Maven的输出是:
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: modeltype.bpmn2 1.0.0.qualifier
[ERROR] Missing requirement: modeltype.bpmn2 1.0.0.qualifier requires 'bundle org.eclipse.bpmn2 0.7.0' but it could not be found
[ERROR]
问题是:
我们如何才能更好地集成 3rd 方库? 我认为,本地类路径引用不是更大范围的最佳解决方案。为项目开发的每个人都应该安装 bpmn2 库并且只使用清单中的依赖项吗?
我们在 Maven 上做错了什么?本地存储库是
/var/lib/jenkins/localRep
并且将库安装到存储库后,创建的dir结构似乎还可以。
/org/eclipse/bpmn2/bpmn2/0.7.0/bpmn2-0.7.0.jar
有人可以帮忙吗?
【问题讨论】:
标签: eclipse maven jenkins eclipse-plugin