Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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构建中排除Log4j文件_Java_Maven - Fatal编程技术网

Java 未从Maven构建中排除Log4j文件

Java 未从Maven构建中排除Log4j文件,java,maven,Java,Maven,我在src/main/resources中有一个log4j.xml文件,我正试图从jar文件中排除它。我在父pom文件中有一个版本为3.0.0的属性 ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>

我在src/main/resources中有一个log4j.xml文件,我正试图从jar文件中排除它。我在父pom文件中有一个版本为3.0.0的属性

...
       <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>
...
。。。
org.apache.maven.plugins
maven jar插件
${maven jar plugin.version}
**/log4j.xml
org.apache.maven.plugins
maven资源插件
${maven resources plugin.version}
UTF-8
...

我升级到了maven jar插件的3.0.0版,还将exclude从“src/main/resources/log4j.xml”改回了“**/log4j.xml”,我暂时将其切换到了“src/main/resources/log4j.xml”,因此我不确定是否需要一个或两个修复程序。

如果您使用
***log4j*
这个模式对您来说是可以接受的,那么它应该会起作用

注意文档底部写的内容:

请注意,模式需要与为插件的classesDirectory参数指定的路径相对。

根据maven手册(),您必须将要包含/排除的文件放在
参考资料
部分。因此,如果文件位于src/resources上,则配置为:

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

...
我的资源插件实践项目
...
...
高级文书主任/资源
**/log4j.xml
...
...
...

希望有帮助。

什么是
排除
??到底是什么错误或问题?@manouti,问题是该文件没有从jar文件中排除。我更正了拼写,但仍然存在相同的问题。首先,如果您不想将文件放入jar,只需将其从
src/main/resources
中删除即可,因为Maven的惯例是,
src/main
中的所有内容都是打包的。如果您仅在测试时需要它,请将其移动到
src/test/resources
…将不起作用,因为资源的位置是
src/main/resources
,而不是
src/resources
。和往常一样,你应该遵循Maven中的惯例。