当前位置: 首页 > 面试题库 >

如何从另一个Java程序内部运行.jar文件?

曹驰
2023-03-14
问题内容

我有一个.jar文件,可以在命令行上运行:

java -jar myFile.jar argument1

我想将此.jar的输出另存为另一个Java程序内的String变量

我该怎么做?

我尝试在程序中包含myFile.jar作为参考,并myFile.main(new String{"argument1"})在程序中进行了操作。但这只是将结果打印到控制台,我无法在程序中使用结果。

希望这不会太令人困惑。


问题答案:

如果您不能包括另一个罐子,

你可以用这样的东西

Runtime re = Runtime.getRuntime();
BufferedReader output;          
try{ 
  cmd = re.exec("java -jar MyFile.jar" + argument); 
  output =  new BufferedReader(new InputStreamReader(cmd.getInputStream()));
} catch (IOException ioe){
  ioe.printStackTrace();
}
String resultOutput = output.readLine();

我知道我的代码并不像捕获的异常那样完美,但是我认为这可以为您提供一个好主意。



 类似资料:
  • 问题内容: 作为程序的一部分,我有一个连接管理器,该管理器从客户端接收连接,然后为客户端提供用于连接的端口号和密码。这时经理需要调用jar文件,我必须使用一些参数来处理此连接,然后继续操作(忽略其他程序在做什么)。 我的问题一直在执行jar文件。我查找了类似的问题,并尝试使用流程生成器和Runtime.exec。我在jar文件中移动,并检查了它的权限。它只是拒绝在另一个Java程序中工作,而在命令

  • 问题内容: 我有一个巨大的JAR文件,是使用插件创建的。 我使用来运行它,并且UI随即打开。现在我要执行该文件,该文件也位于该JAR文件中,该怎么办? 我尝试将exe放到我的类路径中并从那里运行它,但尝试后发现类路径实际上是我的JAR所在的位置。 有什么建议? 在这里找到了这个东西,但这真的是最好的解决方案吗?似乎很多工作,我觉得这里有不同的情况,因为我可以自己定义exe的位置,而JAR是由我创建

  • 问题内容: 我编写了几个简单的Java应用程序,分别称为A.jar,B.jar。 现在,我想编写一个GUI Java程序,以便用户可以按按钮A执行A.jar,按按钮B执行B.jar。 我也想在我的GUI程序中输出运行时进程的详细信息。 有什么建议吗? 问题答案: 如果我理解正确,那么看来你想在Java GUI应用程序内部的单独进程中运行jar。 为此,你可以使用: 缓冲过程输出始终是一种很好的做法

  • 问题内容: 我有一个Main.java和Test.java类,它们要编译并在Test.java代码中运行Main.java。这是我的代码 我只在Main.java中打印“ ok”,但是此代码不打印任何内容。问题是什么 ? 问题答案: 我修改了代码以包括一些检查: 这是Main.java: 当一切都很好时,它就可以工作: 现在,例如,如果在Main.java中出现一些错误: 它仍然显示“ ok”,因

  • 在用户需要安装jre才能运行aps之前: 现在随着jlink和jpack的发布,可以使用捆绑的jre部署jars。 启动另一个的正确方法是什么。jar来自使用jlink/jpackage部署的程序? 将无法工作,因为最终用户不再安装java 请参阅:如何从命令行调用嵌入式jre以运行java应用程序 这是一个类似的问题,但没有解决创建。带jlink/J包的jar

  • 注意:test.class文件也使用了example.jar文件中的类文件,有自己的包结构。 我知道我可以将它们放在一个jar文件中,不幸的是我需要将test.class文件分开。