我是一个全新的Maven新手,并被this tutorial卡住了。
有一个元素pomInclude,用于包含另一个POM文件。当我使用命令构建bus-core-api时
mvn package -U它只适用于当前项目。其他的在构建过程中不会被调用。
bus- pom.xml -api中的核心:
<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
其他人都不见了。你能告诉我为什么吗?
发布于 2015-09-15 22:03:22
pomIncludes是配置maven-invoker-plugin的元素。引用文档中的内容,此参数用于:
包含用于搜索项目的集成测试目录的模式。
这意味着在项目的集成测试期间,Maven将同时运行app-web-ui和app-desktop-ui项目,并将结果输出到命令行。
默认情况下,该插件run目标绑定到Maven阶段integration-test。由于您没有指定阶段,因此它将保留默认值。查看lifecyle reference,您可以看到integration-test阶段在package阶段之后。因此,当您运行mvn package时,Maven不会执行integration-test阶段,因此插件永远不会被调用。
如果要调用该阶段,可以运行mvn install或mvn verify (或integration-test之后的任何阶段,包括此阶段)。
另一种解决方案是在maven-invoker-plugin的配置中指定另一个阶段(如test),但我建议您保留缺省值。
发布于 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 install和mvn verify,然后它对这两个命令都有效。但cli上的输出与教程中显示的不同。
[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实现上也可能存在差异。
https://stackoverflow.com/questions/32587910
复制相似问题