У меня есть следующие два REST Urls в моих приложениях.properties.Как ударить определенный URL REST на основе профиля maven?
Я хотел бы получить один, но не оба, основанный на динамическом параметре, но не уверен, как это сделать. Я пробовал использовать профиль maven, но не уверен, как читать профиль maven в Java-коде и получить на нем 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>
Вы можете иметь несколько версий 'application.properties' файла. В зависимости от профиля Maven, поставьте правильный номер в своем приложении. –
Можете ли вы указать мне какую-нибудь документацию или пример? – user2325154
Зачем вам это нужно? Поместите файл конфигурации за пределы JAR, содержащий этот URL, а затем код будет просто читать все, что находится в этом файле. Затем вы можете отредактировать этот файл в любое время и перезапустить приложение, а не странные пользовательские упаковки/профили. – Tunaki