我有一个Eclipse Groovy项目,比如A,需要引用/使用另一个名为GenUtils的Eclipse Groovy项目的源代码。 在Eclipse环境中,可以选择项目A,然后选择Properties - >项目 - >添加并检查GenUtils。 这会在A:
的.classpath文件中生成以下内容<classpathentry kind="src" path="src"/>
...
...
<classpathentry combineaccessrules="false" kind="src" path="/GenUtils"/>
其中“/ GenUtils”引用工作区中的项目。这很好。
现在我正在尝试使用maven-eclipse-plugin为maven做同样的事情,从maven pom.xml为A生成Eclipse项目文件。 (使用mvn eclipse:eclipse)
通过研究(我是Maven新手),我发现默认情况下Maven不支持多个源位置,推荐的解决方案是 build-helper-maven-plugin。在我的POM中使用它:
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>../../GenUtils</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
我可以给出GenUtils项目的相对路径。这会在.classpath文件中生成以下内容: 也就是说,项目源确实以绝对路径引用!不理想,但暂时会这样做。
问题是Eclipse不接受这个并给出错误:“:路径中的无效字符'C:/ _ SDE / Tools / ArtopBasedTools / GenUtils'。” (错误日志), “项目A我们缺少必需的源文件夹:'C:/ _SDE / Tools / ArtopBasedTools / GenUtils'”(问题wndow)。这可能是由于Eclipse预期的事实 引用其他工作区项目而不是任意目录。它期望在.classpath文件中使用path =“/ GenUtils”条目而不是完整的绝对路径。
所以问题是: 有没有办法在build-helper-maven-plugin中指定它?
更多属: 这是使用Maven从另一个访问Groovy Eclipse项目的正确方法吗?或者是否有其他推荐的解决方案?