Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义maven汇编插件_Maven_Maven Assembly Plugin - Fatal编程技术网

自定义maven汇编插件

自定义maven汇编插件,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我非常喜欢Maven,因为它使一些事情变得非常简单,但有时我很难处理其中的一些部分。。。 虽然我搜索了网络,但我并没有让它按我所希望的那样工作 以下是我当前的程序集配置: maven汇编插件 ${project.name}{project.version} C:\temp\FundSteward\ 假的 卢·阿斯佩塔·基金管家·梅因 带有依赖项的jar 它在指定的目标文件夹中创建一个可运行的jar;到目前为止,这正是我想要的。 现在,我希望将log4j.properties文件保存在目标文件

我非常喜欢Maven,因为它使一些事情变得非常简单,但有时我很难处理其中的一些部分。。。 虽然我搜索了网络,但我并没有让它按我所希望的那样工作

以下是我当前的程序集配置:


maven汇编插件
${project.name}{project.version}
C:\temp\FundSteward\
假的
卢·阿斯佩塔·基金管家·梅因
带有依赖项的jar
它在指定的目标文件夹中创建一个可运行的jar;到目前为止,这正是我想要的。 现在,我希望将log4j.properties文件保存在目标文件夹中jar文件的旁边,这样我就可以在不重新打包jar的情况下对其进行调整。此外,它不应该打包到jar中,但我希望保留在/src/main/resources中(像往常一样)

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

我们非常感谢您的每一个帮助,甚至是一点提示


致以最诚挚的问候,J.R.

以防有人感兴趣,以下是我为解决此问题所做的工作。 从多个SO来源报废的零件。:)


src/main/resources
${project.build.directory}/${project.build.finalName}
log4j.properties
...
maven汇编插件
包裹
单一的
${project.name}
${project.build.directory}/${project.build.finalName}
假的
com.my.app.MyMain
.
带有依赖项的jar

AFAIU,
assembly插件
shade插件
用于创建单个可分发归档文件。要复制资源,你可以考虑HI Charlee,谢谢,我明白你的意思。但在这种情况下,仍然存在两个问题:1)如何从构建的jar中排除log4j.properties;2)我不想将此程序集绑定到某个阶段,即:我想对程序集目标同时执行这两个操作。我在这个论坛上找到了一个例子,让我觉得这是可能的。你好,可能有人对我的问题有其他想法吗?提前谢谢。B.r.,J.r。
<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>