Gradle eclipseプラグイン – ソースコードを添付できません
ソースコードはJARに添付されていますが、Eclipseは “F3 – Open Declaration”を介してソースにジャンプしている間に ”
Source not found
“を表示し続けます。
テストされたツール:
-
Gradle 2.4
-
Eclipse 4.4
1. Gradle Eclipseプロジェクト
1.1 Gradleを使ったWebプロジェクトビルドとEclipse IDEでの開発。
build.gradle
apply plugin: 'java' apply plugin: 'war' apply plugin: 'eclipse-wtp' //...
1.2 Eclipseプロジェクト設定を生成します。
$ gradle eclipse
2.問題 – Eclipseクラスパス
生成されたEclipseクラスパスJava Build Pathを確認します。 Gradleは別の ”
Web App libraries
“を作成し、ソースコードなしで依存関係全体を割り当てます。
そして、 “Web App Libraries”はロードすることを最優先にしています。
これが原因で「ソースが見つかりません」というエラーメッセージが表示されます。
2.解決策
これを修正するには、ビルドパスの最下部に「Web App」ライブラリを配置します。
このGradleスクリプトは、Gradleを使用してEclipseクラスパスファイルを生成するたびに常に「
Web App libraries
」を下に並べます
build.gradle
apply plugin: 'java' apply plugin: 'war' apply plugin: 'eclipse-wtp' eclipse.classpath.file { withXml { xml -> def node = xml.asNode() node.remove( node.find { it.@path == 'org.eclipse.jst.j2ee.internal.web.container' } ) node.appendNode( 'classpathentry',[kind: 'con', path: 'org.eclipse.jst.j2ee.internal.web.container', exported: 'true']) } }
Andreas Kuhrwahl
への寄付、こちらをご覧くださいhttp://stackoverflow.com/questions/12836089/why-is-eclipse-not-attaching-3rd-party-libs-source-files-to-a-wtp-faceted-gradle[thread]。
参考文献
EclipseWtpPluginは、Webアプリケーションライブラリを持つソース添付ファイルをシャドウします。
容器]。
http://stackoverflow.com/questions/12836089/why-is-eclipse-not-attaching-3rd-party-libs-source-files-to-a-wtp-faceted-gradle
[Why
Eclipseはサードパーティ製のlibsソースを添付していないのですか?]
gradle
リンク://tag/gradle-eclipse/[gradle eclipse]