gpt4 book ai didi

Windows、Mac 和 Linux (Unix) 上的 Java 程序

转载 作者:可可西里 更新时间:2023-11-01 11:38:05 24 4
gpt4 key购买 nike

我正在开发一个 Java 应用程序,它当然应该通过 USB 内存棒在主要操作系统上运行。对于 Mac 用户,我将 jar(应用程序和更新程序)捆绑到 Apple .app 程序中。现在:让 jar 相互启动并使用棒上的相对文件夹路径的最佳方法是什么。我问是因为我注意到在 Mac 上它就像 .app 文件夹是启动的文件(而不是里面的 jar),因此父目录是我所有文件将存储的工作目录。在 Windows 和 Linux 上,它只是一些 MyApp.app 文件夹,文件将在其中。通过代码切换大小写和路径真的是解决这个问题的唯一方法吗?谢谢

最佳答案

您可以向 JVM 询问给定类的物理位置。来自 http://www.exampledepot.com/egs/java.lang/ClassOrigin.html :

// Get the location of this class
Class cls = this.getClass();
ProtectionDomain pDomain = cls.getProtectionDomain();
CodeSource cSource = pDomain.getCodeSource();
URL loc = cSource.getLocation(); // file:/c:/almanac14/examples/

这甚至适用于 jar 文件。

当您知道位置时,您可以从那里导航。

关于Windows、Mac 和 Linux (Unix) 上的 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6236157/

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