2016-06-15 13 views
0

私はネットワーク活動を実行するmavenプラグインを作成しました。私はそれを実行するとき、私はプロキシを使用する必要があることを示すためにパラメータを渡しています。javaプロキシが黙って失敗しているようです。大声で失敗するにはどうすればいいですか?

mvn myplugin:goal -Dhttps.proxyHost=nonexistent-site.com -Dhttps.proxyPort=8000 

存在しないプロキシを指しても成功します。それは、プロキシをバイパスし、プロキシが悪い場合は、直接ネットワークを直接呼び出すようです。 (これは私の理論でもありますが、プロキシを正しく設定していない可能性もあります)

maven settings.xmlを編集して不正なプロキシホストを追加しましたが、黙って失敗します。

同じ私はプロキシが悪い場合、私はネットワーク呼び出しを行うことができます失敗どのよう

をMAVEN_OPTSするためのパラメータを追加した場合?

+0

私は 'maven-dependency-plugin'コマンドで' mvn dependency:get -Dartifact = "log4j:log4j:1.1.3"をテストしました。-Dhttps.proxyHost = nonexistent-site.com -Dhttps.proxyPort = 8000と失敗しました。 Mavenプラグインでこれらのプロキシ設定を使用していますか?コードを投稿できますか? – Tunaki

+0

私は気付いたことがないかもしれません。私はネットワークコールのためにcom.mashape.unirest.http.Unirestライブラリを使用しています。おそらく、Proxyオブジェクトを設定するAPIがあるように見えるので、システムプロキシ設定を尊重しないでしょう... – kane

+1

それはdoesnのように見えますはい:https://github.com/Mashape/unirest-java/issues/65プロキシを明示的に設定する必要があります。 – Tunaki

答えて

0

@Tunakiのおかげで、問題がわかりました。

私が使用していたライブラリ(com.mashape.unirest.http.Unirest)は、Javaプロキシ設定を尊重していません。問題は上記の@ Tunakiのコメントに記録されています。

ここでの教訓は、jdkに含まれていないネットワークライブラリを使用している場合は、Java設定を尊重していることです。 はUnirestの場合、私は手動ので

HttpHost proxy = new HttpHost(System.getProperty("https.proxyHost") 
           , new Integer(System.getProperty("https.proxyPort"))); 
Unirest.setProxy(proxy); 

私はこの質問や答えは本当に誰も助けかはわからないようなプロキシを作成する必要がありました。それが適用される場合、私は今ここに残しておきます。しかし、誰かが私がこれを削除する必要があると述べた場合、または私はいくつかのdownvotesを得る、私は質問を削除します。

+0

私はUnirestは現在プロキシ認証をサポートしていないので、おそらく別のライブラリを使用していることに注意してください。https://github.com/Mashape/unirest-java/issues/103 – kane

関連する問題