通过 maven-assembly-plugin 打包在 jar 中包含 spring xml
Posted
技术标签:
【中文标题】通过 maven-assembly-plugin 打包在 jar 中包含 spring xml【英文标题】:Include spring xml in jar by maven-assembly-plugin packaging 【发布时间】:2013-01-30 07:53:15 【问题描述】:我正在尝试创建一个可执行 jar 及其所有依赖项以及 spring 的配置 xml 文件。
这里是pom.xml中maven-assembly-plugin的定义:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>service.coucou.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
</plugin>
这是assembly.xml:
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>jar-with-dependencies</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>true</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<includes>
<include>/src/main/resources/cxf.xml</include>
</includes>
</fileSet>
</fileSets>
</assembly>
我正在尝试在创建的 jar 中包含 /src/main/resources/cxf.xml
文件。但它不包括xml。如何将它包含在 jar 中?
【问题讨论】:
【参考方案1】:将<fileSets/>
替换为:
<fileSet>
<directory>$basedir/src/main/resources</directory>
<includes>
<include>cxf.xml</include>
</includes>
</fileSet>
【讨论】:
以上是关于通过 maven-assembly-plugin 打包在 jar 中包含 spring xml的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 maven-assembly-plugin 设置最终的 jar 名称
执行 maven-assembly-plugin 后输出中缺少依赖项