gpt4 book ai didi

maven-2 - 马文。组装项目时如何包含特定文件夹或文件取决于它是开发构建还是生产?

转载 作者:行者123 更新时间:2023-12-04 09:56:11 24 4
gpt4 key购买 nike

使用 maven-assembly-plugin

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.1</version>
<configuration>
<descriptors>
<descriptor>descriptor.xml</descriptor>
</descriptors>
<finalName>xxx-impl-${pom.version}</finalName>
<outputDirectory>target/assembly</outputDirectory>
<workDirectory>target/assembly/work</workDirectory>
</configuration>

在descriptor.xml文件中我们可以指定
    <fileSets>
<fileSet>
<directory>src/install</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>

是否可以根据配置文件包含此文件夹或子文件夹中的特定文件?或者其他方式...

像这样:
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<resources>
<resource>
<directory>src/install/dev</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
</build>
</profile>
<profile>
<id>prod</id>
<build>
<resources>
<resource>
<directory>src/install/prod</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
</build>
</profile>
</profiles>

但是打包的时候会把资源放在jar里。但是我们需要在组装时把它放在 zip 中,正如我上面已经提到的:(
谢谢!

最佳答案

如果你的资源有一个模式(比如 *.properties ),那么你可以在你的程序集描述 rune 件中做这样的事情:

<fileSets>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>*.properties</include>
</includes>
</fileSet>
</fileSets>

此复制所有 *.properties来自您的 target文件夹到程序集 zip 的根文件夹。基于您 pom.xml 中的个人资料正在运行,只有适当的资源才会出现在 target 中。文件夹。

关于maven-2 - 马文。组装项目时如何包含特定文件夹或文件取决于它是开发构建还是生产?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4602365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com