简体   繁体   English

在另一个Maven作业中运行Maven作业

[英]Running maven job inside another maven job

I have 2 Java projects where project2 depends on project1's jar. 我有2个Java项目,其中project2取决于project1的jar。 Bot are Maven projects. Bot是Maven项目。 At the moment this is what I do to create a jar from project2: 目前,这就是我从project2创建jar的工作:

c:\eclipse\workspace\project1> mvn install
c:\eclipse\workspace\project2> mvn package

Could I somehow "include" the mvn install command inside projects2's pom.xml so that only the last command would be enough to create the jar? 我可以以某种方式在项目2的pom.xml中“包含” mvn install命令,以便仅使用最后一个命令即可创建jar。

You have described a basic use case of Maven Reactor (ie Maven's fancy name for multi-project/module build). 您已经描述了Maven Reactor的基本用例(即Maven在多项目/模块构建中的花哨名称)。 In this respect, you'd have your two projects alongside a parent pom (which would be the predecessor of both project1 and project2). 在这方面,您将在父pom旁边有两个项目(这将是project1和project2的前身)。 Within a Maven multi-module build, modules are allowed to depend one on another; 在Maven多模块构建中,允许模块相互依赖; so in your case you'd specify project1 as a dependency of project2's just like you do with any other dependency. 因此,就您的情况而言,您可以像指定任何其他依赖项一样将project1指定为project2的依赖项。 Then, when you run package (on the parent pom) Maven will see the dependency, build project1 first and then use the built jar for project2. 然后,当您运行软件包(在父pom上)时,Maven将看到依赖关系,首先构建project1,然后将已构建的jar用于project2。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM