Groovyで@Grabアノテーション使う場合のProxy設定まとめ。
ぐぐっても断片情報ばっかりだったので共有します。
概要
2種類の設定が必要。
- Grape
- Maven
Grape用設定
設定先
起動スクリプトに書く。
OSによってファイル名違うので注意。
~/.groovy/startup
~/.groovy/preinit.bat
なお、~/.groovy/GrapeConfig は結局使いませんでした。
https://github.com/apache/incubator-groovy/blob/master/src/resources/groovy/grape/defaultGrapeConfig.xml
環境変数
- bash
export JAVA_OPTS="-DproxyHost=your_proxy -DproxyPort=8080"
- windows
set JAVA_OPTS=-DproxyHost=your_proxy -DproxyPort=8080
参考:
http://nave-kazu.hatenablog.com/entry/2015/04/02/181917
http://nobeans.hatenablog.com/entry/20090413/1239607977
Maven用設定
maven専用の設定ファイルにはHTTPまたはHTTPSの片方しか書けない。
(厳密には2つ書いても片方しか有効にできない。)
そのため、片方を環境変数化する。
参考:
http://takezoe.hatenablog.com/entry/20110102/p2
HTTPのプロキシ設定
設定ファイルに書く。
このファイルが無い場合は作成する。
<settings>
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>your_proxy</host>
<port>8080</port>
</proxy>
</proxies>
</settings>
HTTPSのプロキシ設定
Grapeと同じで、Groovyの起動スクリプトに環境変数として書く。
- bash
export MAVEN_OPTS="-Dhttps.proxyHost=your_proxy -Dhttps.proxyPort=8080"
- windows
set MAVEN_OPTS=-Dhttps.proxyHost=your_proxy -Dhttps.proxyPort=8080
これにて設定完了。
付録
Grabのエラーが出る場合
jarのダウンロードに失敗した場合が多い。
キャッシュをクリアし、再ダウンロードすると直る。
rm -Rf ~/.m2/repository/*
rm -Rf ~/.groovy/grapes/*
※厳密には、エラーになっているライブラリ配下のみ消せば良い。
特定のライブラリをインストールする
デバッグ出しつつダウンロードする例。
どこでつっかえているか割り出す時に使った。
grape -d install org.codehaus.groovy.modules.http-builder http-builder 0.7.2