maven-assembly-plugin如何把其他resources一起打包进去

发布于 2021-11-29 21:19:00 字数 3508 浏览 757 评论 4

项目结构如下:

pom.xml配置如下

<build>
	<resources>
		<resource>
			<directory>${project.basedir}/src/main/resources</directory>
		</resource>
		<resource>
			<directory>${project.basedir}/src/main/config/${env}</directory>
		</resource>
	</resources>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-assembly-plugin</artifactId>
			<configuration>
				<encoding>UTF-8</encoding>
				<appendAssemblyId>false</appendAssemblyId>
				<descriptors>
					<descriptor>src/main/assemble/package.xml</descriptor>
				</descriptors>
			</configuration>
		</plugin>
	</plugins>
</build>

<profiles>
	<!-- 默认的开发环境 -->
	<profile>
		<id>dev</id>
		<properties>
			<env>dev</env>
		</properties>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
	</profile>

	<!-- 测试环境 -->
	<profile>
		<id>test</id>
		<properties>
			<env>test</env>
		</properties>
	</profile>

	<!-- 生产环境 -->
	<profile>
		<id>production</id>
		<properties>
			<env>production</env>
		</properties>
	</profile>
</profiles>



package.xml 内容如下:

<assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.0.0.xsd">
    <id>package</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>true</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>src/main/bin</directory>
            <outputDirectory>bin</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>src/main/conf</directory>
            <outputDirectory>conf</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>src/main/logs</directory>
            <outputDirectory>logs</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>src/main/work</directory>
            <outputDirectory>work</outputDirectory>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <outputDirectory>lib</outputDirectory>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>



maven里面有profile,

我现在想用assembly打包,打成类似tomcat的目录结构的zip包

现在的问题在于那些resource怎么处理

直接执行mvn clean assembly:assembly

src/main/resources、src/main/config/${env} 两个目录的所有文件都被打到jar里面去了

我现在是想把这2个目录的所有文件打到conf目录里面去(类似tomcat)

请问,怎么处理





如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

长安忆 2021-12-01 21:08:35

引用来自“dsfan”的评论

在<fileSet>里配置下includes,类似于:

<fileSet>
  <directory>src/main/resources</directory>
  <outputDirectory>conf</outputDirectory>
  <includes>
    <include>**/*.properties</include>
    <include>**/*.xml</include>
  </includes>
</fileSet>

青萝楚歌 2021-12-01 15:07:18

楼上 说的在理

滥情空心 2021-12-01 08:02:27

小伙子,你的路走错了,maven本来是约定优于配置,tomcat本来提供的是插件式开发,理论上如果你有一些内容需要打进tomcat里面去,在部署的时候做比较好。

多彩岁月 2021-11-30 15:31:11

在<fileSet>里配置下includes,类似于:

<fileSet>
  <directory>src/main/resources</directory>
  <outputDirectory>conf</outputDirectory>
  <includes>
    <include>**/*.properties</include>
    <include>**/*.xml</include>
  </includes>
</fileSet>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文