公開リポジトリでも内部リポジトリでも利用できないいくつかのjarファイルを参照する必要があるbuild.gradleファイルを使用しています。
そのため、jar ファイルを Eclipse プロジェクトの下にある lib ディレクトリに配置しました。
dependencies {
...
compile files('lib/*.jar')
}
Eclipse 内からプログラムを実行またはエクスポートする限り、これは正常に機能します。しかし、gradle build
gradle を試してみると、次のエラーで失敗します。
ファイル 'C:\Workspaces\MyProject\project\lib\*.jar' のパスを正規化できませんでした。
パスを に変更しlib\*.jar
、先頭./
に を追加し、 を削除しました\*.jar
が、役に立ちませんでした。
依存関係から行を削除し、compile files
代わりにこれをリポジトリに追加すると
repositories {
...
flatDir { dirs './lib' }
}
コンパイラは について不平を言いerror: cannot find symbol
、これらのシンボルはすべて lib ディレクトリから参照される jar にあります。実行するgradle --debug
と、flatDir によって参照されるディレクトリが検索されていることがログからわかります。
10:02:20.587 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ResourceVersionLister] using org.gradle.internal.resource.transport.file.FileResourceConnector@48499739 to list all in /C:/...../lib/
10:02:20.592 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ResourceVersionLister] found 7 urls
7 は、lib ディレクトリ内のファイルの数です。
これがコマンドラインからではなく、Eclipse (gradle ツールを使用した STS 3.7) で機能するのはなぜですか? 私はgradle 2.2.1と2.5の両方を試しました。