我需要为我目前正在处理的 RMI 应用程序设置代码库,并且首先使用成功完成了这项工作
try{
ResourceBundle config = ResourceBundle.getBundle("myApp");
String codeBaseUrl = config.getString("codeBaseUrl");
System.setProperty("java.rmi.server.codebase", codeBaseUrl);
} catch (Exception e) {
e.printStackTrace();
}
后来使用
java -Djava.rmi.server.codebase=http://192.168.1.1/path/to/codebase ...
在命令行上。
这两种方法都允许更改代码库而无需重新编译,但 System.setProperty 方法允许将代码库捆绑到属性文件中并使用相同的启动命令。
我读过的大多数教程/文档都使用 -D 方法,这让我相信这被认为是最佳实践,但我一直找不到任何解释为什么我应该使用其他方法的东西。
-D 是否被认为是设置系统属性(如代码库)的最佳实践,这有什么好处/它避免了哪些陷阱?