LoginSignup
0
1

More than 5 years have passed since last update.

認証プロキシ配下でのGrails3を使った開発(create-app~run-app)

Last updated at Posted at 2017-07-31

はじめに

社内の認証プロキシに阻まれていたことで長らく敬遠していたGrails 3.xですが、このたびようやくプロキシを突破し開発スタートできたので、どのような設定をしたかを書いておきます。

Grails 2.xまでは、Grailsコマンドのadd-proxy/set-proxyコマンドでプロキシ情報を設定できましたが、Grails 3.xではそこが大きく変わっているので、少し調査が必要でした。

前提条件

今回は以下の環境で試しました。

  • OS:Windows8.1/10
  • IDE:IntelliJ IDEA(ULTIMATE 2017.2)
  • Grailsバージョン:3.3.0

create-app

まずはcreate-appですが、この時点でプロキシの設定をしておかないと失敗します。

システム環境変数の設定

いろいろ試した結果、以下の設定をシステム環境変数に入れればいいということがわかりました。

変数名は「JAVA_OPTS」、値は以下。

-Dhttp.proxyHost=proxy.host.com -Dhttp.proxyPort=1234 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password -Dhttps.proxyHost=proxy.host.com -Dhttps.proxyPort=1234 -Dhttps.proxyUser=username -Dhttps.proxyPassword=password

関係ないですが、Windows10では環境変数を登録・編集で複数値をわけて入力できるようになるなどUIが進化していて、便利ですね。初めて見たときはちょっと感動しました。

コマンドプロンプトから「grails」実行

さて、これで設定は完了なのですが、IDE(IntelliJ IDEA)からcreate-appしようとするとエラーが出てしまいます。が、実はコマンドプロンプトから1回grailsコマンドを実行するだけで、その後エラーなくcreate-appできるようになります。
Grailsのインストールディレクトリをコマンドプロンプトで開き、「grails」を実行しましょう(コマンドプロンプト等からGrailsコマンドを実行する想定であれば、Grailsのインストールディレクトリに対するPathの設定が必須ですが、今回はIDEでの実行を前提としているので割愛します)。

run-app

アプリの実行をするには、Grails 3.xのビルドシステムであるGradleにプロキシ情報を教えてあげなければなりません。
「gradle.properties」をC:\Users\<user>\.gradle 配下に作成し、以下の内容で保存しておきます。

gradle.properties
systemProp.https.proxyHost=proxy.host.com
systemProp.https.proxyPort=1234
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.http.proxyHost=proxy.host.com
systemProp.http.proxyPort=1234
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password

この設定をすると、認証プロキシ下でもrun-appが成功するようになります。

ちなみにこの設定をしないと、

Could not resolve all dependencies for configuration ':detachedConfiguration24'.

というようなエラーが出てしまいました。
このようなエラーが出たら、Gradle側のプロキシ情報が正しく設定されているか確認してみてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1