当前位置: 首页 > 知识库问答 >
问题:

使用gradle构建框架使用log4j包构建应用程序时出错

漆雕疏珂
2023-03-14

我使用gradle创建了一个简单的java项目,从“gradle init——类型java应用程序”开始。

主java文件的内容-“App.java”:

import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;


public class App {

    public static void main(String[] args) {
        System.out.println("Howdy");
    }
}

文件“build.gradle”的内容:

apply plugin: 'java'
apply plugin: 'application'

repositories {
    jcenter()
}

dependencies {
    compile 'com.google.guava:guava:21.0'
    testCompile 'junit:junit:4.12'

    // Following added by me for log4j
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'

}

mainClassName = 'App'

gradle似乎已成功下载log4j jar文件:

/home/ahmed/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.11.0/bede79a3f150711634a3047985517431bf6499f2/log4j-api-2.11.0.jar
/home/ahmed/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.11.0/e6b751e02120c08702d98750f6a80bc25343b7f5/log4j-core-2.11.0.jar

在~/中有一组log4j jar/pom文件。gradle目录。当我尝试生成时,出现以下生成错误:

$ gradle build
:compileJava
/home/ahmed/temp/javatut/gradle-demo/src/main/java/App.java:5: error: package org.apache.log4j does not exist
import org.apache.log4j.Logger;
                       ^
1 error
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 0.808 secs

我对gradle/java是新手。任何帮助都将不胜感激。

谢谢你,艾哈迈德。

共有1个答案

利永年
2023-03-14

build.gradle文件中,您指定了log4j2jars的依赖项,但是在代码中,您使用的是log4j(版本1)类

import org.apache.log4j.Logger;

此语句指定log4j版本1中存在的Logger类。

log4j2中,改为org.apache.logging.log4j。记录器-

import org.apache.logging.log4j.Logger;
 类似资料:
  • 问题内容: 我正在尝试使用Gradle构建相对简单的JavaFX应用程序。但是,我不知道该怎么做。 我是Gradle的新手,对于简单的(非javafx)项目,我已经成功使用了插件,并构建和打包了库和命令行应用程序。 但是,关于JavaFX,我完全陷入困境。我已经阅读了这篇文章,该文章建议使用该插件,但是我只能找到该插件的源代码,但是没有关于如何实际使用它的文档(在文章中,他们只是从远程URL应用它

  • 我试图使用Gradle构建一个相对简单的JavaFX应用程序。但是,我完全不知道该怎么做。 我对Gradle比较陌生,对于简单的(非JavaFX)项目,我已经成功地使用了插件和来构建和打包库和命令行应用程序。 然而,当涉及到JavaFX时,我完全被卡住了。我读过这篇文章,其中建议使用插件,但是我只能找到这个插件的源代码,而没有关于如何实际获取它和使用它的文档(在文章中,他们只是从远程URL应用它,

  • 构建用户程序框架 接下来我们要做的工作,和实验准备中为操作系统「去除依赖」的工作十分类似:我们需要为用户程序提供一个类似的没有Rust std标准运行时依赖的极简运行时环境。这里我们会快速梳理一遍我们为用户程序进行的流程。 建立 crate 我们在 os 的旁边建立一个 user crate。此时,我们移除默认的 main.rs,而是在 src 目录下建立 lib 和 bin 子目录, 在 lib

  • 当我构建我的应用程序时,我遇到以下错误,请帮助。 运行应用程序时没有错误,制造战争时出错。

  • 我创建了一个phonegap项目,并通过以下方式添加了android平台http://docs.phonegap.com/en/4.0.0/guide_cli_index.md.html#The此文档的命令行界面。当我尝试使用以下命令构建它时: cordova build或cordova build android 我得到了这个错误。