从 q 执行 jar

Executing jar from q

我正在尝试从 q 进程 运行 一个可执行 jar,但它在加载时卡住了(没有错误)。

当 运行从 cmd 中安装 jar 时,它工作正常。

在命令中:

java -cp "C:/javaWorkspaces/someDirectory/myJar.jar" myPackage.myClass

在问题中:

system "java -cp \"C:/javaWorkspaces/someDirectory/myJar.jar\" myPackage.myClass"

另请注意,jar 使用外部 jar(与 eclipse 打包),创建一个新线程并连接到 internet。似乎后者可能是问题所在(在进行一些手动 sysout 调试之后)

我该怎么办?

通过编写一个小的 Java 程序来解决它,该程序在 cmd 中执行完整的 java 命令:

q -> runs small Java program 1 -> runs cmd commands to open the dependent Java class

我认为问题是 jar 有外部依赖项也需要加载,尽管 Eclipse 说 'packs' 它们与 jar 一起。

我认为 Fat Jar 之类的插件是创建独立可执行 jar 的解决方案。

但我并不关心创建一个完全独立的 jar。该解决方案效果均匀。这是一种解决方法,但 q 中的最终代码现在更简洁更短。