maven编译 - 错误log4j

Ilk*_*kar 18 log4j pom.xml maven

我正在构建java应用程序,突然我发现编译问题:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project sonda: Compilation failure: Compilation failure:
[ERROR] ..../service/UserService.java:[7,23] package org.apache.log4j does not exist
Run Code Online (Sandbox Code Playgroud)

但我之前正在构建这个应用程序,一切都很好.另外,当我使用tomcat在Eclipse下运行这个应用程序时,它运行良好.

在pom我有:

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${org.slf4j-version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${org.slf4j-version}</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${org.slf4j-version}</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.15</version>
        <exclusions>
            <exclusion>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
            </exclusion>
            <exclusion>
                <groupId>javax.jms</groupId>
                <artifactId>jms</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jdmk</groupId>
                <artifactId>jmxtools</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jmx</groupId>
                <artifactId>jmxri</artifactId>
            </exclusion>
        </exclusions>
        <scope>runtime</scope>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗 ?

Arn*_*lay 37

更改log4j依赖项的范围以编译或删除它.

  • &lt;scope&gt;compile&lt;/scope&gt;,对我也有帮助。 (2认同)

pau*_*sm4 7

我遇到了完全相同的问题:

pom.xml:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

生成错误: package org.apache.log4j does not exist

根本原因:我需要针对较旧的JRE(JRE 1.5.x)构建项目;当前的库显然不兼容。

解决方案:向后追溯到较旧版本的log4j.jar:

<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.17</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

<=编译成功!