maven模块执行构建的jar

maven模块执行构建的jar,maven,execute,multi-module,Maven,Execute,Multi Module,我有一个多模块的maven项目 我有3个模块: 源代码-我正在构建的代码-输出一个.jar文件 JavaExec—构建一个jar,它将jar文件作为参数,需要使用模块1中的jar运行,并输出第三个jar Bash exec-需要以上面第三个jar的路径作为参数运行的Bash脚本 我该怎么做 我假设两个修改器模块都需要使用execmaven插件,但我不知道如何在它们之间传递文件名 编辑:在我将其拆分为3个模块之前,我让bash exec工作,但java exec是新的,但我认为它应该与bash e

我有一个多模块的maven项目

我有3个模块:

  • 源代码-我正在构建的代码-输出一个.jar文件
  • JavaExec—构建一个jar,它将jar文件作为参数,需要使用模块1中的jar运行,并输出第三个jar
  • Bash exec-需要以上面第三个jar的路径作为参数运行的Bash脚本
  • 我该怎么做

    我假设两个修改器模块都需要使用execmaven插件,但我不知道如何在它们之间传递文件名

    编辑:在我将其拆分为3个模块之前,我让bash exec工作,但java exec是新的,但我认为它应该与bash exec工作相同(感谢Shinchan为我指明了正确的方向)

    使用maven依赖插件,可以将输出jar从一个模块复制到另一个模块:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>GROUP_ID</groupId>
                            <artifactId>OTHER_MODULE_NAME</artifactId>
                            <version>OTHER_MODULE_VERSION</version>
                            <type>jar</type>
                            <overWrite>true</overWrite>
                            <outputDirectory>${project.build.directory}/</outputDirectory>
                            <destFileName>FILE_FROM_OTHER_MODULE.jar</destFileName>
                        </artifactItem>
                    </artifactItems>
                    <overWriteReleases>false</overWriteReleases>
                    <overWriteSnapshots>true</overWriteSnapshots>
                </configuration>
            </plugin>
    
    
    org.apache.maven.plugins
    maven依赖插件
    3.0.0
    复制
    包裹
    复制
    组ID
    其他模块名称
    其他模块版本
    罐子
    真的
    ${project.build.directory}/
    来自_OTHER _MODULE.jar的文件
    假的
    真的
    
    这将在build目录中生成一个名为“file_FROM_OTHER_MODULE.jar”的文件,
    现在我可以将exec参数指向“FILE\u FROM\u OTHER\u MODULE.jar”

    您可以在模块2中添加模块1的依赖项,在模块3中添加模块2的依赖项。不太清楚maven exec插件是如何工作的,但它可能有一个从运行maven builder或maven类路径读取工件的工具。