首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pomInclude的Maven

使用pomInclude的Maven
EN

Stack Overflow用户
提问于 2015-09-15 21:52:03
回答 2查看 772关注 0票数 4

我是一个全新的Maven新手,并被this tutorial卡住了。

有一个元素pomInclude,用于包含另一个POM文件。当我使用命令构建bus-core-api时

代码语言:javascript
复制
mvn package -U

它只适用于当前项目。其他的在构建过程中不会被调用。

bus- pom.xml -api中的核心:

代码语言:javascript
复制
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>bus-core-api</groupId>
<artifactId>bus-core-api</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>1.6</version>
  <configuration>
     <debug>true</debug>
     <pomIncludes>
        <pomInclude>app-web-ui/pom.xml</pomInclude>
        <pomInclude>app-desktop-ui/pom.xml</pomInclude> 
     </pomIncludes>
  </configuration>
  <executions>
     <execution>
        <id>build</id>
        <goals>
           <goal>run</goal>
        </goals>
     </execution>
  </executions>
  </plugin>
  </plugins>
  </build>
  </project>

输出的一部分:

[INFO] Compiling 1 source file to c:\apache-maven-3.3.3\bus-core-api\target\clas ses

其他人都不见了。你能告诉我为什么吗?

EN

回答 2

Stack Overflow用户

发布于 2015-09-15 22:03:22

pomIncludes是配置maven-invoker-plugin的元素。引用文档中的内容,此参数用于:

包含用于搜索项目的集成测试目录的模式。

这意味着在项目的集成测试期间,Maven将同时运行app-web-uiapp-desktop-ui项目,并将结果输出到命令行。

默认情况下,该插件run目标绑定到Maven阶段integration-test。由于您没有指定阶段,因此它将保留默认值。查看lifecyle reference,您可以看到integration-test阶段在package阶段之后。因此,当您运行mvn package时,Maven不会执行integration-test阶段,因此插件永远不会被调用。

如果要调用该阶段,可以运行mvn installmvn verify (或integration-test之后的任何阶段,包括此阶段)。

另一种解决方案是在maven-invoker-plugin的配置中指定另一个阶段(如test),但我建议您保留缺省值。

票数 2
EN

Stack Overflow用户

发布于 2022-02-01 22:04:55

实际上,我正在遵循同样的教程,并纠结于同样的问题。在网上冲浪了几个小时后,我发现了这个问题,所以我开始阅读@Tunaki resources pomincludes。现在我可以获得三个jars (app-desktop-ui-1.0.jar、app-web-ui-1.0.jar和bus-core-api-1.0-SNAPSHOT.jar)。为此,首先,我在src中创建了一个名为' it‘的文件夹,并在其中移动app- move ui和app-web-ui项目。基于@Tinaka的注释,我运行命令mvn installmvn verify,然后它对这两个命令都有效。但cli上的输出与教程中显示的不同。

代码语言:javascript
复制
[INFO] --- maven-invoker-plugin:2.0.0:run (build) @ bus-core-api ---
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[WARNING] Filtering of parent/child POMs is not supported without cloning the projects
[INFO] Building: app-desktop-ui\pom.xml
[INFO] ..SUCCESS (3.0 s)
[INFO] Building: app-web-ui\pom.xml
[INFO] ..SUCCESS (3.1 s)

因此,我也是Maven的新手,但我认为教程省略了一些步骤,而且由于本教程的制作,在maven实现上也可能存在差异。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32587910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档