【发布时间】:2015-08-30 12:59:50
【问题描述】:
我想创建一个可执行的 jar(其中包含我的代码的所有 *.class)。 但是,我不希望 Jar 包含在编译期间位于我的 src/main/resources 路径中的资源。
我的项目层次结构是:
project
-src
-main
-resources
-resources_setting.xml
-target
-classes
-resources_setting.xml
我希望我的 jar 只包含 main 类和依赖项,而不是 target\classes 内的资源或资源内的资源。
我该怎么做?
我正在使用 maven-assembly-plugin,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>cqm.qa.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
【问题讨论】:
-
这是一个与您想要的类似的好解决方案。 stackoverflow.com/questions/3001713/…
-
为什么你想这样做?如果这些文件不是你项目的资源,那么你不应该把它们放在
src/main/resources下。 -
我将它们用作资源,但我也在运行时编辑它们。所以查找和替换它的路径在 jar 文件(不是目录)内的 xml 文件是有问题的
标签: java maven jar maven-assembly-plugin