Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 在项目中找不到log4j.properties文件_Java_Maven_Log4j - Fatal编程技术网

Java 在项目中找不到log4j.properties文件

Java 在项目中找不到log4j.properties文件,java,maven,log4j,Java,Maven,Log4j,我在我的项目中使用Log4j并试图运行我的应用程序,但它似乎找不到log4.properties文件 这是我的Maven配置: <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>

我在我的项目中使用Log4j并试图运行我的应用程序,但它似乎找不到log4.properties文件

这是我的Maven配置:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>log4j.properties</include>
                <include>hibernate.cfg.xml</include>
            </includes>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <finalName>File-Name</finalName>
                <archive>
                    <manifest>
                        <mainClass>my.main.class</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.</Class-Path>
                    </manifestEntries>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <appendAssemblyId>false</appendAssemblyId>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
当我尝试运行应用程序时,出现以下错误:

log4j:错误无法读取配置文件[log4j.properties]。 java.io.FileNotFoundException:log4j.properties(没有这样的文件或目录)

奇怪的是,如果我用mvn package打包我的应用程序并打开jar文件,我可以看到里面的log4j.properties文件。我不明白怎么了,因为我在pom文件中声明了resources文件夹

编辑:我正在项目中添加用于log4j的依赖项

   <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

log4j

如果您使用的是log4j 2.X,则配置不同。

结果表明,这一行是导致错误的原因

PropertyConfigurator.configure("log4j.properties");

显然,只要在maven中设置了
/src/main/resource
,并且resources文件夹中存在log4j.properties文件,我就可以直接使用记录器,无需此行

谢谢您的回复。请检查问题中的编辑是否尝试将配置文件放入src/main/resources?不要使用
PropertyConfigurator.configure(“log4j.properties”)将文件放入上述目录后,它已经存在。检查我在编辑中添加的图片。如果不是这样,我真的不知道该怎么办。尝试链接,看看是否有帮助
PropertyConfigurator.configure("log4j.properties");