我们正在尝试管理由多个Eclipse插件组成的项目。如何使用Eclipse,Maven和Jenkins管理第三方jar依赖项?
一个插件依赖于第三方插件。它从名为bpmn2的库中导入一个类。这个库是一个jar文件,不包含在Maven远程仓库中。
在本地,在Eclipse中,我们将库检出到工作区中,并在Eclipse项目的类路径中引用。插件清单并未明确说明对bpmn2的依赖关系。哪些在本地工作...
我们尝试使用Jenkins进行持续集成。多插件项目是使用Maven tycho插件使用Maven和多个POM文件进行管理的。
问题是,Maven不关心本地存在的库bpmn2(当然)。因此,我们认为使用Maven安装:安装到安装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/
,并与该库
<dependencies>
<dependency>
<groupId>org.eclipse.bpmn2</groupId>
<artifactId>bpmn2</artifactId>
<version>0.7.0</version>
<type>jar</type>
</dependency>
</dependencies>
会工作的依赖项调整相应的POM。但事实并非如此。
的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]
的问题是:
如何才能更好地整合第三方库? 我认为本地类路径引用并不是最佳解决方案。是否为该项目开发的每个人都应安装bpmn2库并仅在清单中使用依赖项?
我们在做什么错误的Maven?本地存储库是
/var/lib/jenkins/localRep
并将库安装到存储库后,似乎创建的目录结构没问题。
/org/eclipse/bpmn2/bpmn2/0.7.0/bpmn2-0.7.0.jar
有人可以帮忙吗?
将这个仓库服务器能够使用本地存储库,并与它的工作? 另外,如果我想让它在Jenkins上工作,是否有更简单的解决方案? – danowar 2011-12-21 13:58:05
@danowar。 1)您的本地存储库实际上是否遗漏了maven central或intranet服务器产生的文件。 2)你可以设置一个构建步骤,在Jenkins构建期间将第三方jar安装到本地存储库,但对我而言,这听起来比设置此服务器一次并忘记它更复杂。 – 2011-12-21 16:14:34