当前位置: 首页 > 知识库问答 >
问题:

tomcat-maven-plugin具有多个模块,只构建一个war

越姚石
2023-03-14

我尝试构建一个基于多个maven模块的web应用程序。其中一个模块称为“Web”,它单独负责打包war,该war应该使用tomcat7-maven-plugin部署到tomcat。我在parent.pom中定义了以下模块:

  • 通用
  • 持久性
  • 嵌入持久性
  • 服务
  • Rest
  • 网站
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <ignorePackaging>true</ignorePackaging>
        <url>http://localhost:8080/manager/text</url>
        <server>tomcatServer</server>
        <path>/webapp</path>
        <warFile> /home/username/dev/maven-multimodule-example/web/target/maven-multimodule-example-1.0-SNAPSHOT.war</warFile>
        <username>admin</username>
        <password>password</password>
    </configuration>
</plugin>

但是,如果我用mvn tomcat7:run运行web应用程序,它看起来相当不错,因为插件跳过了其他非战争构建模块。

如何才能以正确的方式配置插件,使war文件只部署一次?

共有1个答案

诸葛雨泽
2023-03-14

父POM的 部分中的每个配置都将被继承,从而在所有子模块中执行。因此,如果只想部署一次,那么只将其添加到一个POM(例如web POM)中。

 类似资料:
  • 我有一个多模块梯度构建。我想使用root为一个模块执行目标。例如:

  • 然而,我发现实际的构建顺序是不同的...build之后,实际的订单看起来像; 在这种情况下,Maven从哪里获取构建命令?

  • 我有一个gradle android项目,有两个模块: 穿 在我的gradle配置中,我有不同的构建类型。默认设置(debug和release,每个都有自定义设置)以及dev和beta构建类型(也有自定义签名、自定义proguard和自定义applicationIdSuffix)。 我现在想做的是使用构建类型测试版(gradle清洁组件测试版)构建应用程序包。这就开始在测试版中构建应用程序,看到它

  • 给定以下示例多模块项目: aggr/pom.xml(版本1.0-快照) aggr/父/pom.xml(2.0版-快照) aggr/app/pom.xml(版本3.0-SNAPSHOT) aggr/comp1/pom.xml(版本4.0-SNAPSHOT) 其中 parent 是任何其他 pom 的父级,并且应用具有 comp1 的依赖项。 通过发布发布:只要aggr文件夹在svn存储库中具有相同的

  • 问题内容: 我有一个父项目多模块Maven项目P和三个子模块,和。这两个和是战项目,都依赖于A。 我可以输入在和拥有所有的子模块正确的编译的。当我要对特定模块进行操作时,问题就来了。 我希望能够为项目打包战争,但是当我从的目录运行命令时,它抱怨找不到的依赖项。 我从这个问题中了解到:Maven和相关模块,也许Maven并不是真正为这种类型的依赖关系解决而设计的,但这引出了我该如何打包的问题? 当我

  • 嗨我在网上搜了一遍,看了一堆文章,所以问题和文档都找不到解决办法,这里是我的问题。 我有一个多模块maven项目,其中包含三个模块a、B和C,a和B独立,C依赖于a和B,当然我有一个父项目。我还设置了一个jenkins服务器来构建这些项目,以及一个nexus存储库。 如有任何帮助,不胜感激。谢谢!