Maven,从打包的jar

时间:2017-10-20 13:01:30

标签: java maven jar maven-assembly-plugin maven-resources-plugin

我正在尝试为我的应用程序实现以下分发,并且我遵循this question作为指南

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-plugin

<excludes>
  <exclude>conf/*</exclude>
</excludes>

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

1 个答案:

答案 0 :(得分:2)

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

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