【发布时间】:2016-04-26 19:30:57
【问题描述】:
我在 java 代码使用的 build.properties 文件中设置了属性值。 (这是 UPS Quantum View 的一部分)
build.properties file
url=https://onlinetools.ups.com/ups.app/xml/QVEvents
accesskey=XYZ
username=QWER
password=12345
subsname=OUTBOUNDFULL
build.properties 在 build.xml 中被引用
<property file="build.properties"/>
我想在不同的时间使用不同的 subsname 值。所以我在尝试
ant -Dsubsname=OUTBOUND_EST 来自命令行,但在构建中它不断从 build.properties 文件中获取值作为 OUTBOUNDFULL。
有没有其他方法可以做到这一点。
(注意:这是 UPS Quantum 视图的一部分) 使用值的部分 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();
}
}
【问题讨论】:
-
在 ant 构建期间或执行 java 代码时,您希望何时覆盖属性值?
-
@P.A.Cros 我想在执行 java 代码时覆盖它。那是它从 build.properties 文件中获取参数(如访问密钥、用户名、密码和子名称)形成请求 xml 的时间。
-
@P.A.Cros - 有没有办法在 java 执行期间覆盖 build.properties 的值。
-
对不起,我有几天不在办公室...我只是发布一个可以解决您问题的答案(我希望如此...)