当前位置: 首页 > 面试题库 >

Maven:将多个模块jar组合到一个war文件中?

苏彦君
2023-03-14
问题内容

我有一个babybird包含3个组件的项目persistencebusiness并且service

在中babybirdpom.xml我有以下关注者

   <modules>
        <module>persistence</module>
        <module>business</module>
        <module>service</module>
    </modules>

当我跑步时mvn clean install,我看到

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] babybird  ......................................... SUCCESS [2.801s]
[INFO] persistence ....................................... SUCCESS [3.321s]
[INFO] business .......................................... SUCCESS [0.832s]
[INFO] service ........................................... SUCCESS [0.694s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.168s
[INFO] Finished at: Tue Jan 22 12:09:48 PST 2013
[INFO] Final Memory: 18M/50M
[INFO] ------------------------------------------------------------------------

每个模块都会生成一个jar文件。

问题 :如何将它们合并为一个babybird.war
我是Maven新手,不知道要寻找什么来完成此任务,请提供指针


问题答案:

那很简单。创建另一个名为web或类似的模块:

<modules>
    <module>persistence</module>
    <module>business</module>
    <module>service</module>
    <module>web</module>
</modules>

web 模块应依赖于所有其他模块:

<dependencies>
    <dependency>
        <groupId>...</groupId>
        <artifactId>persistence</artifactId>
    </dependency>
    ...
</dependencies>

war包装:

<packaging>war</packaging>

您还需要web.xml输入/src/main/webapp/WEB-INF。而已。



 类似资料:
  • 问题内容: 我的应用程序需要多个jar才能工作。由于它是桌面应用程序,因此我无法让用户负责安装。因此,在我的构建脚本中,我将jar内容解压缩到我的构建目录中,删除清单文件,编译我的软件,然后再次对其进行jar。一切正常,因为我的问题是此过程是否有长期副作用? 问题答案: 过去,JAR的内容很奇怪(例如包含和的DB2驱动程序;在Windows文件系统中解压缩后,这两个软件包将合并在一起)。 您需要了

  • 问题内容: 我有多个JAR文件,必须将其添加到Eclipse中的classpath中。 是否可以将30个文件合并为一个文件并包含该文件? 问题答案: 您可能想看看jarjar。 如果您使用Ant任务,也可以进行以下操作:

  • 我尝试构建一个基于多个maven模块的web应用程序。其中一个模块称为“Web”,它单独负责打包war,该war应该使用tomcat7-maven-plugin部署到tomcat。我在parent.pom中定义了以下模块: 通用 持久性 嵌入持久性 服务 Rest 网站 但是,如果我用mvn tomcat7:run运行web应用程序,它看起来相当不错,因为插件跳过了其他非战争构建模块。 如何才能以

  • 问题内容: 我在Web应用程序中使用jquery,我需要将更多jquery脚本文件加载到单个页面中。 Google建议我将所有jquery脚本文件合并到一个文件中。 我怎样才能做到这一点? 问题答案: 在Linux上,您可以使用简单的Shell脚本将多个javascript文件合并为一个。它利用了Closure Compiler在线服务,因此生成的脚本也得到了有效压缩。

  • 我使用的是sbt 0.13.8和xsbt-web-plugin 2.0.3 我有一个多模块sbt项目。打包时,其中一个模块应该是war文件的形式。所有其他的都在jar文件中。 当我添加xsbt-web插件时,打包会为所有模块生成jar和war。如何告诉xsbt-web插件仅将自身应用于应该打包为war的模块? 我已经找到了一个解决方案,那就是为每个非战争模块修改packagedArtifacts列