問題
- インターネットに接続せずにGradleのワークスペースを構築する方法は?
- オフラインモードを使用してgradlewコマンドを実行する手順
Environment
- Liferay DXP
解決策
- DevStudioの最新リリースではオフラインサポートを改善しましたが、すべてのビルドツール(GradleまたはMaven)は、依存関係をダウンロードするためにインターネット接続を必要とします。 したがって、Liferayワークスペースのビルドはオフラインで動作しません。
- デバッグのために、以下の属性は、Gradleタスクを実行するときに、トレースされる追加のログ情報があるかどうかを確認するのに役立ちます。 以下に例を示します。
- --スタックトレース(あるいは--フルスタックトレース)と
- --info (または --debug)
- --offline
注:3つ目は、Gradleにインターネットを一切使用しないようにお願いしていることになります。 しかし、Liferay Pluginsがそれを尊重しているかどうかはわかりません。
-
次に、ワークスペースプラグインは、Gradleビルドの実行ごとに、
https://releases.liferay.com/tools/workspace/.product_info.json
をフェッチしようとします。liferayWorkspace
エクステンションをSettings
オブジェクトに登録する際に発生する可能性があります:
-
_workspaceCacheDir
([user.home]/.liferay/workspace
)にファイルを置くことで回避できる場合があります。 -
そして、URLを取得するコード(DownloadCommand -> HttpUtil)が、与えられたURLに対して常にHEADリクエストを実行し、Last-Modifiedヘッダーを取得してローカルにキャッシュされたファイルと比較しなければなりません。残念ながら、それは毎回、まさにそうなっているようです:
追加情報
ご注意:記載された手順と非公式リンクは、Liferay Supportの範囲を超えたカスタム環境のアイデアを含んでいます。 ご利用の際は、適切なご判断をお願いいたします。 Liferayからの実装アイデアに関するさらなる支援については、専用の グローバルサービスチームまでご連絡ください。 営業担当者は、GSチームとの接続性を発見し、詳細について知るための大きなリソースとなります。
- 以下の非公式情報は、インターネットに接続せずにGradleのビルドを実行するために必要なアクションを理解したり計画したりするのに役立つかもしれません。 「完全にオフラインのビルド」は私たちがサポートするものではありません。