Java 如何防止在maven assembly插件中指定同级模块的版本?

Java 如何防止在maven assembly插件中指定同级模块的版本?,java,maven,maven-assembly-plugin,Java,Maven,Maven Assembly Plugin,我的项目的简化设置如下所示: 根目录 |--母公司 |--服务-1 |--服务-2 |--服务聚合器 我需要在“服务聚合器”中组装“服务1”和“服务2”模块。我正在使用maven assembly插件实现同样的功能,它工作正常,但是我预见到了一个维护问题,即每当service-1或service-2的版本发生变化时,我也需要更新服务聚合器pom.xml 因此,我正在寻找一种方法来防止在服务聚合器pom.xml中编写service-1/-2的版本,即我只需要service aggregator简单

我的项目的简化设置如下所示:

根目录
|--母公司
|--服务-1
|--服务-2
|--服务聚合器

我需要在“服务聚合器”中组装“服务1”和“服务2”模块。我正在使用maven assembly插件实现同样的功能,它工作正常,但是我预见到了一个维护问题,即每当service-1或service-2的版本发生变化时,我也需要更新服务聚合器pom.xml

因此,我正在寻找一种方法来防止在服务聚合器pom.xml中编写service-1/-2的版本,即我只需要service aggregator简单地选择service-1/-2的最新版本

我已经阅读了中提供的示例,但是这些示例包含了组装模块(我的示例中的服务聚合器)中提到的版本

请让我知道如果有任何细节丢失&我会添加它

以下是服务聚合器pom.xml的关键内容:

4.0.0
com.company.project
父母亲
0.0.1
com.company.project.parent
服务聚合器
服务聚合器
com.company.project.parent
服务-1
0.0.1 
com.company.project.parent
服务-2
0.0.1 
maven汇编插件
2.6
带有依赖项的jar
${skip.assembly}
组装
包裹
单一的
假的

最好使用如下属性:

4.0.0
com.company.project
父母亲
0.0.1
com.company.project.parent
服务聚合器
服务聚合器
com.company.project.parent
服务-1
${project.version}
com.company.project.parent
服务-2
${project.version}
maven汇编插件
2.6
带有依赖项的jar
${skip.assembly}
组装
包裹
单一的
这可能会有所帮助
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>com.company.project</groupId>
    <artifactId>parent</artifactId>
    <version>0.0.1</version>
</parent>
<groupId>com.company.project.parent</groupId>
<artifactId>service-aggregator</artifactId>

<name>service-aggregator</name>
<dependencies>
    <dependency>
        <groupId>com.company.project.parent</groupId>
        <artifactId>service-1</artifactId>
        <version>0.0.1</version> <!-- this is the line troubling me -->
    </dependency>
    <dependency>
        <groupId>com.company.project.parent</groupId>
        <artifactId>service-2</artifactId>
        <version>0.0.1</version> <!-- this is the line troubling me -->
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <skipAssembly>${skip.assembly}</skipAssembly>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
<properties>
    <skip.assembly>false</skip.assembly>
</properties>