我有一个项目,只有一个模块,但需要打包两个jar,使用不同的charset(只需要config.yml
文件需要两个不同的资源文件夹)。
我一直尝试这样:
maven-jar-plugin
,添加分类器,它可以打包多个jar文件,但需要在/ target / classes中每个jar有一个文件夹。 maven-jar-plugin
可以打包两个jar文件,需要不同的文件夹,例如**/server/**
和**/client/**
,但我只需要更改一个文件的图表集:**/config.yml
和UTF-8,{ {1}}使用UTF-16 **/config.yml
,尝试更改图表集,但maven-resources-plugins
似乎不起作用.. <encoding>UTF-8</encoding>
的{{1}}来复制相同的.class文件和不同的maven-resources-plugins
(我在copy-resources
中创建了两个文件夹,两个图表集config.yml
和/src/main/
)到两个新文件夹(在编译阶段,复制到/src/main/chartA/config.yml
和/src/main/chartB/config.yml
)但显示/target/ChartA
..我不知道我知道为什么..它似乎遵循一个曲折的过程.. /target/ChartB
标签,但似乎无法同时打包两个配置文件.. 那么,是否有任何方法可以在编译/打包时更换一个资源文件或更改资源的chartset并制作两个不同的jar包?
答案 0 :(得分:0)
Try this :
src/main/resources
+ config-utf8.yml
+ config-utf16.yml
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar</id>
<configuration>
<includes>
<include>**/config-utf8.yml</include>
</includes>
<excludes>
<include>**/config-utf16.yml</include>
</excludes>
<classifier>pack-8</classifier>
</configuration>
</execution>
<execution>
<id>special-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<includes>
<include>**/config-utf16.yml</include>
</includes>
<excludes>
<include>**/config-utf8.yml</include>
</excludes>
<classifier>pack-16</classifier>
</configuration>
</execution>
</executions>
</plugin>
答案 1 :(得分:0)
感谢每一个人,我终于使用了它:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>install</phase>
<configuration>
<tasks>
<copy file="./src/main/resources/config.yml" todir="./target/ymls" encoding="UTF-8" outputencoding="UTF-16"/>
<copy file="./src/main/resources/plugin.yml" todir="./target/ymls" />
<move file="./target/${project.name}-${project.version}.jar" tofile="./target/${project.name}-UTF8-${project.version}.jar"/>
<jar destfile="./target/${project.name}-UTF16-${project.version}.jar">
<fileset dir="./pg/ymls"/>
<zipfileset includes="**/*.class" src="./pg/${project.name}-UTF8-${project.version}.jar"/>
</jar>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
这会帮助你更改包后的chartset,并制作两个jar,不需要复制资源中的另外一个文件,我设置了默认的yml文件UTF-8