我有两个项目,一个名为my-lib
,另一个名为my-webapp
。当我使用Maven2时,我将my-lib
设置为my-webapp
的依赖项。
在Eclipse中,我需要将my-lib
设置为my-webapp
的“Java EE模块依赖项”。
当我运行 mvn eclipse:clean eclipse:eclipse 命令时,是否有办法设置此依赖项?目前,每次我在项目上运行此命令时,my-lib
都没有被定义为my-webapp
的Java EE模块依赖项,然后我需要手动设置它。
答案 0 :(得分:1)
您可以指定在eclipse插件的配置中设置wtpmanifest属性。文档有点模糊,但它可能会执行您所需要的操作,因为通过修改Manifest.MF文件来定义EE模块依赖项。
来自文档:
<强> wtpmanifest:强>
必须为java项目编写清单文件,以便使用jee类路径 对于wtp是正确的。
您可以自己指定Manifest并将其包含在Eclipse配置中,以确保它包含所有必需的模块,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<wtpmanifest>true</wtpmanifest>
<wtpapplicationxml>true</wtpapplicationxml>
<wtpversion>2.0</wtpversion>
<manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest>
</configuration>
</plugin>
答案 1 :(得分:0)
你可能需要调整maven-eclipse-plugin来为点文件添加一些魔法。这里没有捷径。您必须查看工作文件并将其反向工程到maven配置中。即便如此,它只能与Maven,Eclipse和WTP的某些组合一起使用。如果您的需求已添加到.project
文件中,我的示例可能会有所帮助。对于.settings
,这可能会帮助您开始搜索正确的魔法。这是你实施它时最终会嗤之以鼻的解决方案之一。
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalProjectnatures>
<projectnature>missing.magic.natures</projectnature>
</additionalProjectnatures>
<buildcommands>
<buildcommand>missing.magic.builders</buildcommand>
</buildcommands>
<classpathContainers>
<classpathContainer>magic.jre.stuff</classpathContainer>
</classpathContainers>
<additionalConfig>
<file>
<name>.settings/magic-file</name>
<content>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<xyzzy>plugh</xyxxy>
]]>
</content>
</file>
</additionalConfig>
</configuration>
</plugin>