2017-09-13 13 views
1

のGradle 4.1を実行して、日食ECJ(JDTコア)によって、いくつかの理由をJavaのコンパイル方法リンクのように:the different of ecj and javac)。 ジェンキンスがGradleスクリプトを実行できるように、私はGradleによってビルドするためにEclipseから移行したいと思います。しかし、Gradleは常にjavacを使ってコンパイルします。私はそのようGradleの利用ECJを設定へのプラグイン「日食、日食-WTP」やライブラリ、JDTの依存関係を使用するが、それはまだコンパイルするECJを使用していない:のGradle:(私は<strong>日食(ECJ)</strong>がそれを構築することはできません</strong>しかし<strong>のOracle javacがうまく構築することができるプロジェクトを持っているタスク

compileJava{ 
    options.forkOptions.with { 
    executable = 'java' 
    jvmArgs = ['-classpath','_mylibary_jdt_jar'] 
    } 
} 

問題:私は知りません方法(ドキュメントなし、何らかの方法で古いgradleまたは間違って期限が切れた)grale 4.1 Eclipse Compiler(ECJ)でタスクを実行して、期待したクラスをコンパイルしてください。

注:このエラーは、javacで作成したとき:incompatible type with javacです。私はECJを使ってタスクgradleでうまく動作したい。

答えて

0

これが私の仕事:

configurations { 
    ecj 
} 
dependencies { 
    ecj 'org.eclipse.jdt.core.compiler:ecj:4.6.1' 
} 

compileJava { 
    options.fork = true 
    options.forkOptions.with { 
    executable = 'java' 
    jvmArgs = ['-classpath', project.configurations.ecj.asPath, 'org.eclipse.jdt.internal.compiler.batch.Main', '-nowarn'] 
    } 
} 

はそれが役に立てば幸い!

+0

あなたが正しいです、私はまた、プラグインECJのコードを読んで、やり方を理解しています。 https://github.com/xinthink/gradle-ecj –

関連する問題

 関連する問題