0

私はGradleが初めてです。Gradle Projectプロジェクト構成がgradleビルドスクリプトに基づいて再構築されるように、Gradleプラグインを使用してプロジェクトをセットアップしました。eclipse-wtpアプリを ( Gradle プラグインを使用して) 動的 Web プロジェクトとしてセットアップしようとしていますが、そのためには、プロジェクトが TomcatServer Runtimeライブラリにアクセスできる必要があります。

どうやらGradleでそれを行う方法は、それを「提供された依存関係」として設定することです。これは、コンパイルにのみ使用され、展開されるべきではありません。ただし、IDE Tomcat のデプロイではうまくいきません。Web App LibrariesGradle は、提供された依存関係設定を尊重する とGrade Dependencies、そうでない という 2 つの依存関係セットを構成しているようです。どちらも Web アプリ展開アセンブリに含まれています。つまり、「提供された」Tomcat jar が展開され、Tomcat の起動が妨げられています。

Gradle DependenciesEclipse デプロイメント アセンブリ画面に自動的に含まれないように Gradle を構成するにはどうすればよいですか? 次回Gradleが実行されたときに更新されるだけなので、手動で削除することはできません。


私はすでに試しましたRemove Gradle Dependency Management(プロジェクトを右クリック -> Gradle -> Gradle 依存関係管理の削除) を試しましたが、うまくいきません。Tomcat の問題は解決しますが、テストの依存関係がビルド パス上にないため、単体テストでエラーが発生します。

上記は、手動でも機能する場合に実際に機能しますGradle -> Refresh All。これにより、Gradle Eclipse プラグインが構成ファイルを再生成し、一部ではない依存関係がWeb App Librariesに含まれReferenced Librariesます。

Gradle -> Remove Dependency Managementライブラリを削除するだけGrade Dependenciesで、それ自体では十分ではありません。


私は使っている:

これは問題を引き起こしているライブラリであり、「提供された」Tomcat jar が含まれています。

Gradle の依存関係

これは私のbuild.gradleファイルです:

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
webAppDirName = 'WebContent'

// <snip>

dependencies {
    providedCompile('org.apache.tomcat:tomcat-catalina:7.0.34')

    // <snip>
}

// snip
4

1 に答える 1