Java 如何使用复制到jar-Maven的特定于使用的xml创建多个jar
我正在尝试从ANT build迁移到Maven build设置,以实现非常简单的代码库设置:Java 如何使用复制到jar-Maven的特定于使用的xml创建多个jar,java,jar,maven-plugin,Java,Jar,Maven Plugin,我正在尝试从ANT build迁移到Maven build设置,以实现非常简单的代码库设置: src>Java类 conf>META-INF>3个xml文件,即dbConnect-jboss.xml、dbConnect-weblogic.xml、dbConnect-ooc.xml 目标是创建3个罐子: project-jboss.jar、project-weblogic.jar、project-ooc.jar 其中每个jar将有META-INF/dbConnect.xml,相关conf/META
src>Java类
conf>META-INF>3个xml文件,即dbConnect-jboss.xml、dbConnect-weblogic.xml、dbConnect-ooc.xml
目标是创建3个罐子:
project-jboss.jar、project-weblogic.jar、project-ooc.jar
其中每个jar将有META-INF/dbConnect.xml
,相关conf/META-INF/dbConnect xxx.xml
的副本
我试过使用[maven jar plugin+maven antrun plugin],但问题是maven antrun plugin只复制了一次,所以假设先创建project-jboss.jar,那么所有剩余的jar都将具有相同的dbConnect.xxx.xml
我需要找到一种方法——如何每次通过maven antrun插件调用dbConnect.xml文件的副本来创建相应的JAR
感谢所有在这里帮助我的人,感谢你的帮助。 我选择maven汇编插件来满足需要 以下片段将解释我的方法:
<pluginManagement>
<plugins>
<plugin>
<!-- To suppress default JAR creation -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>default-jar</id>
<phase />
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<finalName>${project.artifactId}</finalName>
<useProjectArtifact>false</useProjectArtifact>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
<executions>
<execution>
<id>create-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
你好您能在问题中添加pom.xml的内容而不是放一个屏幕截图吗?它有助于复制内容,并试图更快地解决问题,而不是用手写所有内容。winky Face我尝试过——对SoF来说有点陌生——评论框建议我有很多代码,不允许我发帖——只需单击你的问题的
编辑,并用pom.xml内容替换你的屏幕截图。
<assembly ....>
<id>jboss</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<!-- Avoid getting relevant dependencies included in JAR -->
<includes>
<include>com.vibrant:streamliner.reposerv</include>
</includes>
<useTransitiveDependencies>false</useTransitiveDependencies>
<unpack>true</unpack>
<unpackOptions>
<excludes>
<exclude>META-INF/**</exclude>
</excludes>
</unpackOptions>
</dependencySet>
</dependencySets>
<files>
<file>
<source>${project.basedir}/config/META-INF/dbConnect-jboss.xml</source>
<outputDirectory>META-INF</outputDirectory>
<destName>dbConnect.xml</destName>
</file>
</files>
<profile>
<id>create-all-jars</id>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>pom-assembly-jboss.xml</descriptor>
<descriptor>pom-assembly-weblogic.xml</descriptor>
<descriptor>pom-assembly-ooc.xml</descriptor>
</descriptors>
<appendAssemblyId>true</appendAssemblyId>
</configuration>
</plugin>
</plugins>
</build>
</profile>
mvn -P create-all-jars clean package