gpt4 book ai didi

java - 从指定目录启动Java应用程序(主)

转载 作者:行者123 更新时间:2023-12-01 11:11:26 27 4
gpt4 key购买 nike

我有一个非常大/旧/长时间运行的项目,它使用相对于启动目录的路径访问文件资源(即应用程序仅在从特定目录启动时才工作)。当我需要调试程序时,我可以从 eclipse 启动它并使用“运行配置”->->“工作目录”设置启动目录。我希望能够编写一个 Java 类,该类将从指定目录启动主类。这可能吗?如果是我该怎么做?我找到了几个相关的项目,包括下面显示的项目,但似乎找不到我正在寻找的答案。

https://community.oracle.com/thread/1257595?start=0&tstart=0

http://www.javapractices.com/topic/TopicAction.do?Id=243

How do I run a java program from a different directory?

Java - start another class' main in a different process

最佳答案

根据this您可以使用 main 编写一个简单的类:

  1. 请求工作目录
  2. 将 jar 复制到所选目录中
  3. 执行 jar
  4. 从选择的目录中删除 jar。

例如。

public class Exec
{
public static void main(String []args) throws Exception
{ choosenDir=askForWorkingDirectory()
jarFileNameWithabsolutePath=copyJarIntoDir(choosenDir)
Process ps=Runtime.getRuntime().exec(new String[]{"java","-jar",jarFileNameWithabsolutePath});
ps.waitFor();
java.io.InputStream is=ps.getInputStream();
byte b[]=new byte[is.available()];
is.read(b,0,b.length);
System.out.println(new String(b));
deleteJarFormChoosenDir(jarFileNameWithabsolutePath);
}
}

地点:

askForWorkingDirectory() 显示 DirectoryChooser 对话框并返回绝对路径。

copyJarIntoDir(choosenDir) 接收复制 jar 文件的选择目录,并返回 jar 文件的绝对路径和文件名。

deleteJarFormChoosenDir(jarFileNameWithabsolutePath) 最终删除复制的 jar

希望对你有帮助!

关于java - 从指定目录启动Java应用程序(主),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312124/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com