2017-03-07 49 views
0

我是gradle和其他構建工具的新手。 我想寫一段代碼來記錄一些使用log4j的信息。 所以,我必須在我的代碼中導入記錄器org.apache.log4j。*。 我在項目中也有一個gradle文件build.gradle。 當我構建gradle文件時,出現編譯錯誤。我知道它會在編譯時查找上面的依賴關係。但根據我的理解,gradle應該從存儲庫下載。首次編譯時的Gradle依賴關係

糾正我,如果我錯了。幫助我理解這種情況下的工作原理。

+0

你在構建腳本中聲明瞭依賴依賴和存儲庫嗎? –

+0

是的,這是我的build.gradle文件的片段 '代碼依賴{
\t編譯組: 'org.apache.logging.log4j',名稱: 'log4j的核心',版本: '2.7' }' –

回答

1

讓您的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 /主/資源:

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

嘗試啓動主要方法。 如果在您的IDE中有一些錯誤,請嘗試更新項目。在Intellij IDEA中,您可以在屏幕右側使用gradle-> refresh項目。

希望,這會幫助你。

+0

非常感謝。有效。 我錯過了依賴關係嗎?這是問題嗎? –

+0

很高興聽到:)很難回答你的問題,而沒有看到完整的代碼:) – kurt

+0

我是gradle的新手,我只是想了解這個構建工具的工作原理。我只複製了你的代碼(gradle,java和log4j)並做了一個刷新項目。 –