2017-03-07 31 views
0

私はgradleやその他のビルドツールの初心者です。 私はlog4jを使用していくつかの情報を記録するコードを書くことを試みています。 したがって、ロガーorg.apache.log4j。*を自分のコードにインポートする必要があります。 私はまた、プロジェクト内にグラデルファイルbuild.gradleを持っています。 gradleファイルをビルドすると、コンパイルエラーが発生します。コンパイル中に上記の依存関係が検索されることは理解しています。しかし、私の理解によると、これはリポジトリからダウンロードする必要があります。初回コンパイル時の依存関係の依存関係

私が間違っている場合は私を修正してください。このシナリオでこの仕組みがどのように機能するかを理解するのに役立ちます。

+0

ビルドスクリプトで依存関係とリポジトリを宣言しましたか? –

+0

はい、これは私のbuild.gradleファイル 'コードの依存関係{
\tコンパイル基: 'org.apache.logging.log4j'、名称: 'log4jのコア'、バージョン: '2.7' }の断片であります' –

答えて

1

このようなあなたのbuild.gradleを行います

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"); 
    } 
} 

およびSrc /メイン/リソースにlog4j2.xmlを追加します。

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' 
} 

はSRC /メイン/ javaのフォルダにMain.javaを追加します。

<?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 projectを使用することができます。

希望すると、これが役に立ちます。

+0

ありがとうございました。出来た。 依存関係がありませんでしたか?それは問題でしたか? –

+0

ニースを聞いて:)完全なコードを見ずにあなたの質問に答えることは難しいです:) – kurt

+0

私はgradleへの初心者です、私はちょうどこのビルドツールが動作する方法を理解しようとしていました。私はあなたのコード(gradle、java、log4j)のみをコピーし、リフレッシュプロジェクトを行いました。 –