プロジェクトのビルド パス内で慣例により依存関係を参照するにはどうすればよいですか? 詳しく説明させてください...
Groovy/Grails ツール スイート (GGTS 3.0) を使用しています。BuildConfig.groovy で依存関係を参照しています。
dependencies {
compile 'tgt:jaxb-utils:1.0'
}
参照された jar ファイルが Artifactory リポジトリから正常に取り出されました。ローカル ファイル システムの Ivy キャッシュで jar ファイルを見つけることができます。grails ターゲット ( grails compile
、grails run-app
、grails run-tests
) を実行すると、問題なく動作します。つまり、jar からクラスをインポートするコードに問題はありません。を実行するgrails war
と、参照された jar ファイルが構築された war にパックされます。
ただし、ここにこの投稿の要点があります。プロジェクトのビルド パスは、デフォルトまたは規則ではこの jar ファイルを参照しないため、jar ファイルからクラスをインポートする Java または Groovy コードはunable to resolve class ...
エラーを報告します。
1 つの解決策は、単純に jar ファイルを lib フォルダーに追加し、それに応じてビルド パスを更新するか、Ivy キャッシュ フォルダー内の jar ファイルを参照するようにビルド パスを変更することです。ただし、この方法でプルダウンされたすべての依存関係に対してこれを行う必要があります。lib フォルダー内のすべての jar はチーム ソース コード リポジトリに保存されますが、これは無駄なスペースのように見えます。これは、grails コマンドが BuildConfig.groovy の依存関係参照だけで正常に機能するためです。
ここで私は理想主義的すぎる(つまり、難しい)のでしょうか、それともunable to resolve class ...
、依存するjarファイルを手動でlibフォルダーに追加してビルドパスを更新することなく、IDEのエラーをクリーンアップするより良い方法はありますか? アイデア?