2017-02-24 48 views
0

我試圖從jar文件中排除src/main/resources中的log4j.xml文件。我在父pom文件中有一個版本爲3.0.0的屬性。未從Maven構建中排除Log4j文件

... 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-jar-plugin</artifactId> 
        <version>${maven-jar-plugin.version}</version> 
        <configuration> 
         <excludes> 
          <exclude>**/log4j.xml</exclude> 
         </excludes> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-resources-plugin</artifactId> 
        <version>${maven-resources-plugin.version}</version> 
        <configuration> 
         <!-- specify UTF-8, ISO-8859-1 or any other file encoding --> 
         <encoding>UTF-8</encoding> 
        </configuration> 
       </plugin> 
... 
+0

什麼是'exclcudes'?那究竟是錯誤還是問題? – manouti

+0

@manouti,問題是該文件沒有被從jar文件中排除。我改正了拼寫,但仍然有同樣的問題。 – user994165

+1

首先,如果你不喜歡將文件放入你的jar中,只需將其從'src/main/resources'中移除即可,因爲這是Maven中'src/main'中的所有內容都被打包了。如果你只需要它進行測試,將它移到'src/test/resources'中... – khmarbaise

回答

0

我升級到Maven的JAR-插件的版本3.0.0也改變從 「的src /主/資源/的log4j.xml」 排除回 「**/log4j.xml文件」,這我暫時將它切換到,所以我不確定是否需要一個或兩個修復程序。

0

根據maven手冊(https://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html),您必須將這些文件包含在resources部分。所以,如果該文件位於src /資源上,配置將爲:

<project> 
... 
<name>My Resources Plugin Practice Project</name> 
... 
<build> 
    ... 
    <resources> 
    <resource> 
     <directory>src/resources</directory> 
     <excludes> 
     <exclude>**/log4j.xml</exclude> 
     </excludes> 
    </resource> 
    ... 
    </resources> 
... 
</build> 
... 
</project> 

希望有所幫助。

+0

不起作用導致資源的位置是'src/main/resources'而不是'src/resources'。和往常一樣,你應該遵循Maven中的約定。 – khmarbaise