2016-12-08 19 views
0

私はGradleを使ってインターネットへのアクセスを制限してアプリケーションを構築しようとしています。gradleプラグインをローカルにキャッシュして使用する方法は?

私は正常

repositories { 
    mavenLocal() 
... 

で、通常の瓶を使用することができたし、適切なファイルを~\.m2\repositoryを取り込みます。

しかし、私はまた私のbuild.gradle

plugins { 
    id 'org.hidetake.ssh' version '2.4.0' 
} 

のようなステートメントを持っています。ビルドが、私は

Error resolving plugin [id: 'org.hidetake.ssh', version: '2.4.0'] 
> Could not GET 'https://plugins.gradle.org/api/gradle/2.9/plugin/use/org.hidetake.ssh/2.4.0'. 
    > Connection to https://plugins.gradle.org refused 

どうやら次のエラーを取得する場合、Gradleではが禁止され、インターネットからプラグインを取得しようとしています。

このプラグインはどのようにキャッシュできますか?

は、完全なインターネットアクセスを持っている私の他のマシン、で、私は

.gradle\caches

のようなディレクトリを見つけましたが、それは私が使用するかどうかはわからないいくつかの奇妙なハッシュサブディレクトリを持っています。他のマシンからmodules-2ディレクトリをコピーしても役に立ちませんでした。

答えて

0

新しいプラグインDSLでは、この場合、プラグインはグローバルユニークIDとバージョンで指定されているため、キャッシュには保存されていないと考えられます。

ローカルプラグインリポジトリには、追加のプラグインマーカーアーティファクトを追加して使用することができます。詳しくはhereを参照してください。

または単にプラグインdslを使用せず、通常の方法でapply plugin: 'plugin_name'を使用して依存関係を宣言し、同じ方法で必要なjarを同じ方法で保存します。これはプロジェクトの依存関係で行われます。

関連する問題