使用Maven2在Eclipse中自动设置Java EE模块依赖项

时间:2009-08-28 08:26:14

标签: eclipse configuration maven-2

我有两个项目,一个名为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模块依赖项,然后我需要手动设置它。

2 个答案:

答案 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>