在svn存储库中,我有一个文件夹'product',下面是我的所有Eclipse插件和功能,与这些文件并行存在父POM。当我在Jenkins中构建时,此设置很有效,我只需检查'product'并安装pom.xml。但是,我无法弄清楚这个设置在Eclipse工作区中是如何工作的?我无法将pom.xml本身检入工作空间,如果我这样做,我需要将它作为单个文件检查出来,这个项目会驱动父POM的路径。我该如何查看并构建此类设置?
另外,我是否需要在插件中定义父POM的relativePath?我发现如果我省略它,那么我会得到关于路径丢失的错误。
总结一下,我的svn存储库结构是这样的:
答案 0 :(得分:0)
我认为你有两个选择:
将您的父POM部署到本地可用的存储库,例如您公司的Nexus服务器?这将适用于所有产品和所有同事。
重新构建项目以使其看起来更像Maven,例如
|-- plugin1
|-- pom.xml
|-- ....
|-- plugin2...
|-- feature1...
|-- ...
pom.xml <-- parent POM
从长远来看,这第二个选项可能更好,否则你的Jenkins服务器会依赖你记住在本地安装更新的父POM,而不是仅仅从svn中提取它。
答案 1 :(得分:0)
如果您使用m2eclipse(例如,可从Juno站点获得),则可以将任何Maven项目结构导入Eclipse。在您的情况下,产品文件夹将作为Eclipse项目以及各个功能和包进行导入。
<relativePath>
默认为..
,因此如果父POM不在父文件夹中,则需要指定它。如果父POM在本地不可用,您可以将其设置为未定义(例如,通过空<relativePath/>
标记)。在这种情况下,Maven将始终从本地Maven存储库或配置的远程(Maven)存储库中解析父POM。