[英]Customize maven assembly plugin
我非常喜欢Maven,因为它确实使某些事情变得很容易,但是有时我很难处理其中的某些部分...尽管我在网上搜索,但并没有按照我的意愿工作。
这是我当前的程序集配置:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>${project.name}_${project.version}</finalName>
<outputDirectory>C:\temp\FundSteward\</outputDirectory>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>lu.aspecta.fundSteward.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
它在指定的目标文件夹中创建一个可运行的jar。 到目前为止,这正是我想要的。 现在,我希望将log4j.properties文件保存在目标文件夹中的jar文件旁边,以便我可以进行调整而无需再次打包jar。 此外,不应将其包装到jar中,但我想保留在/ src / main / resources中(照常)。
我已经尝试了不同的方式(使用不同的程序集文件(将是首选方式),其他配置,等等),但是我没有设法使其按需工作。
我们非常感谢您的每一个帮助甚至一点提示。
此致,JR
以防万一有人感兴趣,这是我为解决此问题所做的工作。 从多个SO来源报废的零件。 :)
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<targetPath>${project.build.directory}/${project.build.finalName}</targetPath>
<includes>
<include>log4j.properties</include>
</includes>
</resource>
</resources>
...
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>${project.name}</finalName>
<outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>com.my.app.MyMain</mainClass>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</build>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.