0

我非常喜欢 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 的情况下对其进行调整。此外,它不应该装进罐子里,但我想保留在 /src/main/resources 中(像往常一样)。

我已经尝试过不同的方式(使用不同的程序集文件(将是首选方式),其他配置,...),但我无法让它按我想要的方式工作。

非常感谢每一个帮助甚至一点提示。

最好的问候,JR

4

1 回答 1

0

以防万一有人感兴趣,这就是我为解决此问题所做的工作。从多个 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>
于 2015-07-20T20:53:24.340 回答