我想创建可运行的Jitsi jar,这是最受欢迎的SIP通信器之一。所以,我把Jitsi打包成一个可运行的jar。当这个可运行的jar传递适当的VM参数时,可以使用它,例如:
-Dfelix.config.properties=file:lib/felix.client.run.properties
-Djava.util.logging.config.file=lib/logging.properties
-Dnet.java.sip.communicator.SC_HOME_DIR_NAME=Jitsi-dev
使用这些参数调用此runnable jar的My Main类如下所示:
public class Main {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("java",
"-Dfelix.config.properties=file:lib/felix.client.run.properties",
"-Djava.util.logging.config.file=lib/logging.properties",
"-Dnet.java.sip.communicator.SC_HOME_DIR_NAME=Jitsi-dev,
"-jar", "jitsi.jar");
} catch (IOException e) {
e.printStackTrace();
}
}
}
当然,在我的jar中你也可以在lib文件夹中找到这两个属性文件(felix.client.run.properties和logging.properties),以及之前在jitsi.jar中打包的Jitsi。不幸的是,我收到一个错误,即未加载config.properties via命令行。但是当我创建一个shell脚本时,运行具有相同参数的jitsi.jar,我可以运行Jitsi。上面的代码出了什么问题?