在eclipse中导入由gradle生成的Ear项目

时间:2013-08-07 12:35:22

标签: eclipse java-ee gradle gradle-eclipse

我正在使用gradle来设置多项目构建。我有以下项目的文件夹布局:

---RootProject
---- build.gradle
---- settings.gradle
------ JarProject (Utility) 
--------- build.gradle
------ JpaProject (Dependency on JarProject)
--------- build.gradle
------ EjbProject (Dependency on JarProject, JpaProject)
--------- build.gradle
------ WebProject (Dependency on EjbProject)
--------- build.gradle

工具&技术

  • Gradle:1.6
  • Java:1.7
  • Eclipse:Juno
  • 服务器:Glassfish 3.1.2.2

我可以为上面的文件夹布局定义多项目构建。 Gradle能够为我能够将所有项目导入eclipse的每个项目生成eclipse元数据。 Gradle能够正确生成" .ear"神器。但是,我无法从eclipse部署Ear项目。在部署期间,eclipse提供了NullPointerException。

为了告诉Gradle为EarProject,EjbProject和JpaProject生成适当的方面,我添加了以下代码: * EarProject / build.gradle

apply plugin: 'ear'
apply plugin: 'eclipse-wtp'
eclipse {
    wtp {
       facet {
        facet name:'jst.ear', version:'6.0'
       }
    }
}

* EjbProject / build.gradle

apply plugin: 'war'
apply plugin: 'eclipse-wtp'
eclipse {
    wtp {
       facet {
        facet name:'jst.ejb', version:'3.1'
       }
    }
}
  • JpaProject /的build.gradle

    申请插件:' war' 申请插件:' eclipse-wtp' eclipse {     wtp {        facet {         方面名称:' java',版本:' 1.6'         方面名称:' jpt.jpa',版本:' 2.0'        }     } }

  • WebProject /的build.gradle

    申请插件:' war' 申请插件:' eclipse-wtp' eclipse {     wtp {        facet {         方面名称:' java',版本:' 1.6'         方面名称:' jst.web',版本:' 3.0'         方面名称:' wst.jsdt.web',版本:' 1.0'        }     } }

请注意,即使EjbProject和JpaProject不是Web项目,插件' war'被申请;被应用。因为这个gradle认为EjbProject和JpaProject是web项目并相应地创建eclipse元数据。

  • 对于EjbProject / JpaProject,文件" org.eclipse.wst.common.component"有以下内容

    < property name =" context-root"值=" PRJ上下文" />

    < wb-resource deploy-path =" / WEB-INF / classes"源路径=" SRC /主/ JAVA" />

    < wb-resource deploy-path =" / WEB-INF / classes"源路径=" SRC /主/ JAVA" />

因此,当我将EjbProject / JpaProject导出到ejb-jar或jar文件时,eclipse不会创建正确的jar文件。

另一个问题是我无法将EarProject导出到" .ear"文件使用eclipse"文件 - >导出 - >耳文件"。我得到了一个例外

当我尝试在eclipse中部署EarProject时,它会产生NullPointerException。

我的想法是将eclipse中的EarProject部署到eclipse中定义的Glassfish服务器并调试应用程序。

请给我指导。

TIA CHIR

0 个答案:

没有答案