带有 WTP 的多模块 Maven2 项目

发布于 2024-07-21 06:03:07 字数 705 浏览 7 评论 0原文

我很难使我的 Maven2 多模块项目(具有深层项目结构)显示为单个耳朵(及其依赖项 - 包括 1 个 war、2 个 ejbs 和 1 个 jar)以部署在我的 JBOSS 5 服务器中在我的 Eclipse Ganymede 中(选项卡服务器)。

我一直在尝试使用 Maven Eclipse Plugin 将我的项目变成 WTP 项目,但没有成功。 因此,它们似乎部署在服务器中,它们显示为单独的项目。

我的项目有 1 个 war、2 个 ejb 和 1 个 jar,它们必须打包在 Ear 内,每个“子项目”都是一个单独的模块。

项目的pom.xml(pom类型):

……

<modules>
   <module>ejb1</module>
   <module>ejb2</module>
   <module>war</module>
   <module>jar</module>
   <module>ear</module>
</modules>

ear

模块只负责将其他模块打包在一起。

有没有办法告诉 eclipse (ganymede) 所有这些项目(ejbs、war 和 jar)都在 Ear 模块内,以便我可以在服务器中部署 Ear?

I'm having a hard time to make my Maven2 multi module project, with a deep project structure, appear as a single ear (with its dependencies - which includes 1 war, 2 ejbs and 1 jar) to be deployed in my JBOSS 5 server inside my Eclipse Ganymede (tab Servers).

I've been trying to use Maven Eclipse Plugin to turn my projects into a WTP project without success. Therefore they appear to be deployed in the server they appear as separated projets.

My project has 1 war, 2 ejbs and 1 jar that must be packaged inside an ear, each of the "subprojects" is a separate module.

Project's pom.xml (type pom):

...

<modules>
   <module>ejb1</module>
   <module>ejb2</module>
   <module>war</module>
   <module>jar</module>
   <module>ear</module>
</modules>

...

The ear module is only responsable to pack the other modules together.

Is there a way to tell eclipse (ganymede) that all those projects (ejbs, war and jar) are inside the ear module so I can deploy the ear in the server?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

眉目亦如画i 2024-07-28 06:03:07

你想要做的是让maven通过 mvn eclipse:eclipse 可能会有所帮助。

What you want to do is have maven create the eclipse projects via mvn eclipse:eclipse This might be helpful.

浮光之海 2024-07-28 06:03:07

尝试 m2eclipse (google it) 并安装 WTP 集成工具,使用 maven 向导创建一个项目,在 pom xml 编辑器中将类型更改为 pom,从 pom 创建一个子模块,并将其添加为子模块(如果它是一个 web)项目它获得 WTP 行为,即它可以部署到 j2ee 容器( jboss / tomcat ),为 web pom 中的 ejb 模块添加一个 dep 到 web 模块,将 web 应用程序部署到容器

try m2eclipse (google it) and install the WTP integration tool, create a project using the maven wizard, change the type to pom in the pom xml editor, create a sub modules from the pom and that adds it as child, if its a web project it get the WTP behavior i.e it can be deployed to a j2ee container ( jboss / tomcat ), add a dep to the web module for ejb module in the web pom etc, deploy the web app to the container

囚我心虐我身 2024-07-28 06:03:07

使用可选的 WTP 配置安装 m2eclipse 对我来说很有效。 我还在我的父 pom 中添加了以下内容,以确保 eclipse 文件中具有正确的性质和构建器。

这会生成可供 m2eclipse 使用的 eclipse .project 文件。 然后我可以使用 m2eclipse 更新项目文件,允许热部署 web 应用程序及其依赖项

<build>
  ...
        <plugin>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.5.1</version>
      <!--
      Eclipse project natures: http: //vikashazrati.wordpress.com/2007/12/22/adding-project-nature-to-your-maven-pomxml/
      Maven-eclipse-plugin: http: //maven.apache.org/plugins/maven-eclipse-plugin/
      -->
      <configuration>
      <additionalProjectnatures>
      <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
      <projectnature>org.eclipse.jem.workbench.JavaEMFNature</projectnature>
      <projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>
      <projectnature>org.eclipse.wst.common.project.facet.core.nature</projectnature>
      <projectnature>org.eclipse.jdt.core.javanature</projectnature>
      <projectnature>org.eclipse.wst.jsdt.core.jsNature</projectnature>
      <projectnature>org.maven.ide.eclipse.maven2Nature</projectnature>
      </additionalProjectnatures>
      <buildcommands>
       <buildcommand>org.eclipse.wst.jsdt.core.javascriptValidator</buildcommand>
       <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
       <buildcommand>org.eclipse.wst.common.project.facet.core.builder</buildcommand>
       <buildcommand>org.eclipse.wst.validation.validationbuilder</buildcommand>
       <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
          <buildcommand>org.maven.ide.eclipse.maven2Builder</buildcommand>

      </buildcommands>
      </configuration>

  </plugin>

Installing the m2eclipse with the optional WTP configuration worked for me. I also added the following to my parent pom to ensure the right natures and builders in the eclipse files

This yields eclipse .project files that are ready for m2eclipse. then I can Update the project files using m2eclipse allowing hot deploy the webapp and its dependencies

<build>
  ...
        <plugin>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.5.1</version>
      <!--
      Eclipse project natures: http: //vikashazrati.wordpress.com/2007/12/22/adding-project-nature-to-your-maven-pomxml/
      Maven-eclipse-plugin: http: //maven.apache.org/plugins/maven-eclipse-plugin/
      -->
      <configuration>
      <additionalProjectnatures>
      <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
      <projectnature>org.eclipse.jem.workbench.JavaEMFNature</projectnature>
      <projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>
      <projectnature>org.eclipse.wst.common.project.facet.core.nature</projectnature>
      <projectnature>org.eclipse.jdt.core.javanature</projectnature>
      <projectnature>org.eclipse.wst.jsdt.core.jsNature</projectnature>
      <projectnature>org.maven.ide.eclipse.maven2Nature</projectnature>
      </additionalProjectnatures>
      <buildcommands>
       <buildcommand>org.eclipse.wst.jsdt.core.javascriptValidator</buildcommand>
       <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
       <buildcommand>org.eclipse.wst.common.project.facet.core.builder</buildcommand>
       <buildcommand>org.eclipse.wst.validation.validationbuilder</buildcommand>
       <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
          <buildcommand>org.maven.ide.eclipse.maven2Builder</buildcommand>

      </buildcommands>
      </configuration>

  </plugin>
叫嚣ゝ 2024-07-28 06:03:07

使用maven的-Dwtpversion = 2.0参数或在超级pom项目中的命令行mvn -Dwtpversion = 2.0。 我使用 m2eclipse 插件,但多模块项目遇到了一些问题。 我使用 m2eclipse 插件进行依赖管理。 如果我想使用 super pom 清理、安装等所有项目,我可以在命令行上进行。 另外,项目属性必须在 eclipse 中检查。 项目 Facets、Java EE 模块依赖性必须检查。 您也可以导出到ear项目,但要小心检查maven模块在更改后是否已编译。

use -Dwtpversion=2.0 parameter of maven or on command line mvn -Dwtpversion=2.0 in super pom project. i use m2eclipse plugin but has got some issues for multi module project. I use m2eclipse plugin for dependency management. If i want to clean, install etc. all project with super pom, i do it on command line. Also project properties must check in eclipse. Project Facets, Java EE Module dependencies must check. You can also export to ear project, but be carefull to check maven modules is compiled after changing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文