Maven 2 如何在干净的安装中向maven发布多个jar文件
我使用maven汇编插件从一个jar创建多个jar,现在的问题是我必须将这些jar发布到本地repo,就像其他maven jar在构建maven clean install时由它们自己发布一样,我如何才能做到这一点 这是我的pom文件Maven 2 如何在干净的安装中向maven发布多个jar文件,maven-2,maven-assembly-plugin,Maven 2,Maven Assembly Plugin,我使用maven汇编插件从一个jar创建多个jar,现在的问题是我必须将这些jar发布到本地repo,就像其他maven jar在构建maven clean install时由它们自己发布一样,我如何才能做到这一点 这是我的pom文件 <project> <parent> <groupId>parent.common.bundles</groupId> <version>1.0</version> <ar
<project>
<parent>
<groupId>parent.common.bundles</groupId>
<version>1.0</version>
<artifactId>child-bundle</artifactId>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>common.dataobject</groupId>
<artifactId>common-dataobject</artifactId>
<packaging>jar</packaging>
<name>common-dataobject</name>
<version>1.0</version>
<dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jibx</groupId>
<artifactId>maven-jibx-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<directory>src/main/resources/jibx_mapping</directory>
<includes>
<includes>binding.xml</includes>
</includes>
<verbose>false</verbose>
</configuration>
<executions>
<execution>
<goals>
<goal>bind</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-business-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>flight-dto</finalName>
<descriptors>
<descriptor>src/main/assembly/car-assembly.xml</descriptor>
</descriptors>
<attach>true</attach>
</configuration>
</execution>
<execution>
<id>make-gui-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>app_gui</finalName>
<descriptors>
<descriptor>src/main/assembly/bike-assembly.xml</descriptor>
</descriptors>
<attach>true</attach>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
parent.common.bundles
1
子包
4.0.0
common.dataobject
公共数据对象
罐子
公共数据对象
1
org.jibx
maven jibx插件
1.2.1
src/main/resources/jibx_映射
binding.xml
假的
绑定
maven汇编插件
进行业务组装
包裹
单一的
假的
航班dto
src/main/assembly/car-assembly.xml
真的
制作gui组件
包裹
单一的
假的
应用程序界面
src/main/assembly/bike-assembly.xml
真的
这是我的汇编文件
<assembly>
<id>app_business</id>
<formats>
<format>jar</format>
</formats>
<baseDirectory>target</baseDirectory>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>com/dataobjects/**</include>
</includes>
</fileSet>
</fileSets>
</assembly>
应用程序业务
罐子
目标
假的
${project.build.outputDirectory}
com/dataobjects/**
具有允许附加要安装和部署的其他工件的功能。它通常是这样使用的(从页面):
...
...
org.codehaus.mojo
构建助手maven插件
1.5
附加工件
包裹
附加工件
一些文件
文件的扩展名
可选择的
...
非常感谢帕斯卡,这东西真的很管用。
下面是我添加的一个配置,以使其正常工作
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>abc</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>src/main/assembly/flight-assembly.xml</file>
<type>xml</type>
<classifier>flight</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
org.codehaus.mojo
构建助手maven插件
1.5
abc
包裹
附加工件
src/main/assembly/flight-assembly.xml
xml
航班
标题并不包含全文;它们是文本的一个简明摘要。难道你不需要告诉汇编插件进行附加吗?@b确实是自动完成的。但是OP已经将appendAssemblyId
设置为false
,因此我假设在install
或deploy
期间第一个程序集被第二个程序集覆盖,并且只有一个工件“似乎”被发布(OP没有提供它们,但maven会在发生这种情况时记录消息,我想如果事情“按预期”运行,他就不会发布问题了)。这非常好地解决了我遇到的一个问题。我要补充的是,由于codehaus已经关闭,这个插件的文档和其他维护已经转移到这里:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>abc</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>src/main/assembly/flight-assembly.xml</file>
<type>xml</type>
<classifier>flight</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>