2016-04-26 5 views
0

Javaコードで使用されているbuild.propertiesファイルにプロパティ値が設定されています。 build.properties file url=https://onlinetools.ups.com/ups.app/xml/QVEvents accesskey=XYZ username=QWER password=12345 subsname=OUTBOUNDFULLjava実行中にbuild.propertiesで指定された値をオーバーライドする方法

build.propertiesはbuild.xmlの私は、異なる時間にsubsnameの異なる値を使用したい

<property file="build.properties"/> 

で参照されている(これは、UPS量子ビューの一部です)。だから私は試していた

ant -Dsubsname=OUTBOUND_ESTコマンドラインからしかしビルドでは、build.propertiesファイルからOUTBOUNDFULLとして価値を引き継ぐ。 これを行う方法は他にありますか?

(注:これは、UPS量子ビューの一部である)の値は、あなたのbuild.propertiesファイルが打ち上げはAntビルドであるJavaプロセスによって読み込まれているので

public class JAXBQVClient { 
private static final String LICENSE_NUMBER = "accesskey"; 
private static final String USER_NAME = "username"; 
private static final String SUBSNAME = "subsname"; 
private static final String PASSWORD = "password"; 
private static final String ENDPOINT_URL="url"; 
private static final String OUT_FILE_LOCATION = "out_file_location"; 
static Properties props = null; 

static{ 
    props = new Properties(); 
    try{ 
     props.load(new FileInputStream("./build.properties")); 
    }catch (Exception e) { 
     e.printStackTrace(); 
    }  
} 
+0

いつから終了しますか?あなたのJavaコードが実行されているときに、プロパティビルドの値を乗り換えますか? –

+0

@ P.A.Cros Javaコードが実行されているときにオーバーライドします。これは、acceskey、username、password、およびsubsnameのようなbuild.propertiesファイルからRequest xmlを生成するためのパラメータを取るときです。 – Max

+0

@ P.A.Cros - javaの実行中にbuild.propertiesの値をオーバーライドする方法はありますか。 – Max

答えて

0

を使用しているJavaコードの パート(私は推測する)、あなたはfiltersetアリの概念を使用することがあります。

url=https://onlinetools.ups.com/ups.app/xml/QVEvents 
accesskey=XYZ 
username=QWER 
password=12345 
[email protected]@ 

をし、それをコピーするときにbuild.propertiesあなたが特定の実行のために使用しているにフィルタセットを使用します:

たとえば、あなたは次のようにプロパティファイルのテンプレートbuild-template.propertiesを定義することが

<copy file="build-template.properties" toFile="build.properties"> 
    <filterset> 
    <filter token="SUBNAMEKEY" value="${SUBNAMEVALUE}"/> 
    </filterset> 
</copy> 

を呼び出すと、ant -DSUBNAMEVALUE=OUTBOUND_ESTを呼び出すと、というファイルが生成されます。subsname=OUTBOUND_EST

+0

@ P.A.Cros。お返事ありがとうございます。私はこれを追加しました: '<プロパティファイル= "build.properties"/> \t <ファイルをコピー= = "build.properties" toFileの "build-template.properties"> \t \t <フィルタトークン=」 SUBNAMEKEY」値= "$ {SUBNAMEVALUE}" /> \t \t 'のbuild.xmlおよびbuild.propertiesとbuild-template.propertiesします。しかし、元のbuild.propertiesに設定された値は引き続き使用されます。あなたに合わせてbuild.xmlで行われる変更はありますか? – Max

+0

@Maxテンプレートファイルを置き換えてコピーした後、 'property file =" build.properties "' callを置くことが重要です。タスク 'property file =" build.properties "はファイル内のプロパティをロードして設定し、完了すると各プロパティの値を上書きすることができなくなります –

関連する問題