違い

2017-08-05 5 views
0

私はJavaプログラムコードでプロパティを設定した場合、それは動作します:違い

try { 
     System.setProperty("javax.net.ssl.trustStore", "/home/ylinghao/AllocationAnomaliesDetection/env/AllocationAnomaliesDetection-1.0/runtime/certs/InternalTrustStore.jks"); 
     System.setProperty("javax.net.ssl.trustStorePassword", "password"); 
    } catch (Exception e) { 
     System.out.println("Failed to specify keystore for issue" + e); 
    } 

しかし、私は<jvmarg>にプロパティを設定しようとした場合antのbuild.xmlに<systproperty>が含まれていると、失敗します。誰が違いを教えてもらえますか?ありがとう!

+0

ビルドファイルを表示 –

+0

あなたのアプリを実行するにはant xmlを使用していますか、またはあなたのアプリをビルドしていますか?後者の場合は、通常のように、これが答えです。あなたが置いているものはアプリケーションの実行に影響を与えません。 –

+0

@albert_nilビルドです。 – linghao

答えて

0

あなたの問題は、あなたのアプリケーションのビルドをやっていることです。だから、jvmは、あなた自身が(例えば、コードをコンパイルするためにyseなどの)任意のJavaプロセスを実行するための設定をしています。

あなたの蟻では、プログラムの実行に影響を与えません。プログラムの起動には別のJavaプロセスで行われます。

+0

あなたは正しいと思います – linghao

0

私はここにドキュメントサイトを引用しています:

使用ネストされた要素をクラスに必要なシステムプロパティを指定します。これらのプロパティは、クラス(ANTのVMまたはフォークされたVM)の実行中にVMが使用できるようになります。この要素の属性は、環境変数と同じです。

あなたはjvmargまたはsyspropertyの効果を持つようにfork="true"を持っている必要があります。