0

使用 VBA 脚本启动可执行 JAR 是否有任何限制shell(...)

我的 jar 有效地从 VBA 脚本中获取一些 ID 作为启动参数,从 Web 服务查询值并使用显示它们JOptionPane.ShowMessageDialog

这是我的代码:

private static JFrame quotenframe = new JFrame();
public static void main(String args[]){
    if(args.length < 3){
        JOptionPane.showMessageDialog(quotenframe, "Not enough parameters!", "Error", JOptionPane.ERROR_MESSAGE);
        closeAll(1);
    }

    if(args[0].split("@").length<2){
        JOptionPane.showMessageDialog(quotenframe, "Invalid value! '@' missing", "Error", JOptionPane.ERROR_MESSAGE);
        closeAll(1);
    }
    String var1 = args[0].split("@")[0];
    String var2 = args[0].split("@")[1];
    String var3 = args[1];
    String var4 = args[2];

    String result = "";
    // Build resultString

            JOptionPane.showMessageDialog(quotenframe, result);

    closeAll(0);
}

当从 Windows cmd shell 启动时,JAR 本身的执行没有问题,但是当从Shell(...)我的 VBA 脚本中的命令运行相同的命令行时,唯一的反应是任务栏中的一个 java 图标可见一瞬间,然后消失。

我的命令是: java -jar jarFolder\myjar.jar param1 param2 param3

并且执行目录是jarFolder.

在我看来,JAR 在启动时崩溃了,但是,我不明白为什么在同一个目录中使用 Windows shell 的相同命令启动的同一个 JAR 运行良好。

会不会跟这个有关系JOptionPane?如果没有,知道错误可能是什么吗?

4

1 回答 1

0

Shell(...)解决方案是,如果 JAR 位于子文件夹中,则在使用 VBA 的命令调用它时,您需要指定 jar 的完整路径。

于 2013-09-20T09:59:45.443 回答