Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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
Java Maven,从打包的jar中排除资源文件夹_Java_Maven_Jar_Maven Assembly Plugin_Maven Resources Plugin - Fatal编程技术网

Java Maven,从打包的jar中排除资源文件夹

Java Maven,从打包的jar中排除资源文件夹,java,maven,jar,maven-assembly-plugin,maven-resources-plugin,Java,Maven,Jar,Maven Assembly Plugin,Maven Resources Plugin,我正试图为我的应用程序实现以下发行版,并将其作为指南 dist/ |-- application-1.0.jar |-- conf/ |-- application.properties |-- log4j.properties |-- lib/ |-- *.jar 我的src/main/resources如下所示 resources/ |-- to.be.packaged.inside.jar |-- to.be.packaged/ | |-- also |--

我正试图为我的应用程序实现以下发行版,并将其作为指南

dist/
|-- application-1.0.jar
|-- conf/
    |-- application.properties
    |-- log4j.properties
|-- lib/
    |-- *.jar
我的
src/main/resources
如下所示

resources/
|-- to.be.packaged.inside.jar
|-- to.be.packaged/
|   |-- also
|-- conf/
    |-- application.properties
    |-- log4j.properties
现在,我想将整个conf文件夹从打包到JAR中排除(但放在目标文件夹中)

我尝试了以下配置来安装maven jar插件


形态/*

但是,这仍然在JAR中打包了一个空的conf文件夹。如何排除文件夹和内容?

使用
conf/*
仅排除匹配的文件,它与
conf
目录不匹配。通过添加
conf
该目录也将被排除


但是,您应该问问自己:这些文件在类路径上是否可用?我希望conf目录是项目根目录中的一个目录(即
/conf
),这也意味着一个更干净的pom,因为您不必排除资源。

我只尝试了
conf
,但在这种情况下,没有排除任何内容。您所说的cleaner pom是什么意思?请注意,所有目录和文件都经过计算,因此仅计算conf是不够的。
conf/application.properties
与排除模式不匹配,因此它被包括在内。对于cleaner pom,您不必添加自定义配置。当然,这只是几行,但是通过移动conf文件夹,配置也与类路径隔离,这在考虑外部化配置时是一件好事。@TuomasToivonen答案是,除了现有的排除之外,还需要添加第二个排除。因此,您将有两个排除项:
conf/*
conf
<excludes>
  <exclude>conf/*</exclude>
</excludes>