私はapplication.propertiesに次の2つのREST Urlを持っています。Mavenプロファイルに基づいて特定のREST Urlをヒットするにはどうすればよいですか?
私は動的パラメータに基づいていますが、両方を取得するのではなく、どうやってどのように取得するのかを確認したいと思います。私はMavenプロファイルを使用しようとしましたが、JavaコードでMavenプロファイルを読み込み、それに基づいてURLを取得する方法がわかりません。
ご案内しています。
application.properties
rest.uri=http://localhost:8080/hello
mock.rest.uri=http://localhost:9999/hello
RestClient.java
public class HelloWorldClient {
public static void main(String[] args) {
try {
Client client = Client.create();
//getRestUrl() METHOD CALL NEEDS TO BE DYNAMIC
//EITHER MOCK URL OR ACTUAL REST URL SHOULD BE FETCHED HERE
// NOT SURE HOW ???????
WebResource webResource = client.resource(getRestUrl());
ClientResponse response = webResource.accept("text/plain").get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
String output = response.getEntity(String.class);
System.out.println("\nOutput from Server.... " + output);
} catch (Exception e) {
e.printStackTrace();
}
}
private static String getRestUrl() throws IOException {
Properties prop = GenericUtils.loadProperties("application.properties");
String restUri = prop.getProperty("rest.uri");
String mockRestUri = prop.getProperty("mock.rest.uri");
System.out.println("restUri = " + restUri);
System.out.println("mockRestUri = " + mockRestUri);
return mockRestUri;
}
}
あなたはデフできるのpom.xml
<profiles>
<profile>
<id>rest-server</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>mock-rest-server</id>
</profile>
</profiles>
を使用してクラスをコンパイルします。 Mavenプロファイルに応じて、アプリケーションに適切なものをパックします。 –
いくつかのドキュメントや例を教えてもらえますか? – user2325154
なぜこれを行う必要がありますか?このURLを含むJARの外部に構成ファイルを置くと、コードはそのファイルにあるものを読み込むだけです。いつでもそのファイルを編集して、アプリを再起動できます。奇妙なカスタムパッケージやプロファイルは必要ありません。 – Tunaki