Jakarta ee Maven 2:eclipse插件,用于生成EAR';将依赖项目添加到.project文件

Jakarta ee Maven 2:eclipse插件,用于生成EAR';将依赖项目添加到.project文件,jakarta-ee,maven-2,maven,rad,maven-eclipse-plugin,Jakarta Ee,Maven 2,Maven,Rad,Maven Eclipse Plugin,我正在尝试使用Maven2Eclipse插件为RAD7.5生成eclipse项目文件。除了EAR的.project文件中的依赖项之外,一切都进行得很顺利 当我在一个干净的maven项目上运行mvn eclipse:eclipse时,我想到了这样一个EAR: <projectDescription> <name>MyEAR</name> <comment>The .project file of MyEAR</comment>

我正在尝试使用Maven2Eclipse插件为RAD7.5生成eclipse项目文件。除了EAR的.project文件中的依赖项之外,一切都进行得很顺利

当我在一个干净的maven项目上运行mvn eclipse:eclipse时,我想到了这样一个EAR:

<projectDescription>
  <name>MyEAR</name>
  <comment>The .project file of MyEAR</comment>
  <projects/>
  <buildSpec>
    <buildCommand>
      <name>org.eclipse.wst.common.project.facet.core.builder</name>
    </buildCommand>
    <buildCommand>
      <name>org.eclipse.wst.validation.validationbuilder</name>
    </buildCommand>
    <buildCommand>
      <name>org.eclipse.jdt.core.javabuilder</name>
    </buildCommand>
    <buildCommand>
      <name>com.ibm.etools.validation.validationbuilder</name>
    </buildCommand>
    <buildCommand>
      <name>com.ibm.sse.model.structuredbuilder</name>
    </buildCommand>
  </buildSpec>
  <natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
  </natures>
</projectDescription>

非常感谢大家的帮助!!!(感谢您阅读本文:)

您是否在EAR的POM中将模块和依赖项目声明为依赖项

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <packaging>ear</packaging>
    <groupId>so.com</groupId>
    <artifactId>MyEAR</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>so.com</groupId>
            <artifactId>MYProjectEJB</artifactId>
            <scope>runtime</scope>
            <type>ejb</type>
        </dependency>
        . . .
    </dependencies>

    . . .

4.0.0
耳朵
so.com
迈尔
1.0-快照
so.com
MYProjectEJB
运行时
ejb
. . .
. . .

您可能需要创建模块反应堆构建-

MyEAR-reactor-build
|-- pom.xml
|-- MyEAR
|   |-- pom.xml
|-- MYProjectEJB
|   |-- pom.xml
`-- . . .
反应堆建造的POM看起来像这样-

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>so.com</groupId>
    <version>1.0-SNAPSHOT</version>
    <artifactId>MyEAR-reactor-build</artifactId>
    <packaging>pom</packaging>
    . . .
    <modules>
        <module>MyEAR</module>
        <module>MYProjectEJB</module>
        . . .
    </modules>
</project>

4.0.0
so.com
1.0-快照
MyEAR反应堆建造
聚甲醛
. . .
迈尔
MYProjectEJB
. . .

啊……谢谢大家的帮助。问题是,在pom层次结构中,另一位开发人员引入了带有以下元素的eclipse插件:

<useProjectReferences>false</useProjectReferences>
false

由于某些原因,在我的pom中将此设置为true并没有覆盖父设置。可能是eclipse插件的一个bug?不管怎样,在父pom中将此设置为true后,所有问题都解决了。谢谢大家的帮助

是的,依赖项在那里。我必须补充一点,项目构建正常,即mvn clean install运行良好,因此基本上问题在于eclipse插件配置。我想我需要更好地澄清我的项目结构,因为我有一个reactor构建或我喜欢称之为“应用程序的父POM”。maven项目的构建与上面描述的完全相同。我认为问题出在Eclipse插件设置上,但我发现它们的文档记录得很肤浅,所以要想找到正确的参数需要反复试验……我觉得您的Eclipse插件配置很好。我完全按照原样复制了它,并将其包含在我的一个Java EE EAR项目中,EAR的
.project
按预期生成,模块依赖项列为项目。那么,我的构建到底出了什么问题……我将尝试删除本地repo。也许再次下载所有必要的东西会有所帮助。谢谢你的麻烦,雪莱。
MyEAR-reactor-build
|-- pom.xml
|-- MyEAR
|   |-- pom.xml
|-- MYProjectEJB
|   |-- pom.xml
`-- . . .
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>so.com</groupId>
    <version>1.0-SNAPSHOT</version>
    <artifactId>MyEAR-reactor-build</artifactId>
    <packaging>pom</packaging>
    . . .
    <modules>
        <module>MyEAR</module>
        <module>MYProjectEJB</module>
        . . .
    </modules>
</project>
<useProjectReferences>false</useProjectReferences>