java - 第一次编译时的 Gradle 依赖项

标签 java gradle compilation dependencies

我是 gradle 和其他构建工具的新手。 我正在尝试编写一段代码来使用 log4j 记录一些信息。 因此,我必须在代码中导入记录器 org.apache.log4j.* 。 我的项目中还有一个 gradle 文件 build.gradle 。 当我构建 gradle 文件时,出现编译错误。据我所知,它会在编译时寻找上述依赖项。但根据我的理解,gradle 应该从存储库下载这个。

如果我错了,请纠正我。帮助我理解在这种情况下它是如何工作的。

最佳答案

像这样创建你的 build.gradle:

group 'test'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.8.1'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.8.1'
}

将 Main.java 添加到文件夹 src/main/java:

import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;

public class Main {
    private static final Logger logger = LogManager.getLogger(Main.class);

    public static void main(String[] args) {
        logger.info("started");
    }
}

并将 log4j2.xml 添加到 src/main/resources:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

尝试启动main方法。 如果您的 IDE 中出现一些错误,请尝试更新项目。在 Intellij IDEA 中,您可以使用屏幕右侧的 gradle->refresh project。

希望这会对您有所帮助。

关于java - 第一次编译时的 Gradle 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42645149/

相关文章:

java - 获取具有小数值的 EditText 来执行数学运算

java - 对对象的 ArrayList 进行排序(排序后 ArrayList 不发生更改)

java - CommandInvokationFailure:Gradle构建失败。打开JDK错误

android - Android Studio无法使用外部库启动应用程序

c++ - 将本地共享库与 Waf 链接(无需库编译)

java - 使用 WM_COPYDATA 在使用 JNI 的 Java 应用程序之间发送字符串消息

java - 有 48 小时的差异,将 C# Ticks 转换为 Java 时间戳

android - 错误 :Could not find com. google.android.gms :play-services:10. 2.0

c++ - 如何使用C++ Boost库中的for_each?

Java.lang.classnotfoundException - HelloWorld.class