我正在研究一个Java应用程序,当然这个应用程序可以在USB操作系统上运行。对于Mac用户,我将jar(App和更新程序)捆绑到Apple .app程序中。现在:让罐子互相启动并使用棒子上的相关文件夹路径的最佳方式是什么?我问,因为我注意到,在Mac上它就像.app文件夹是启动的文件(而不是内部的jar),因此父目录是所有文件将被存储的工作目录。在Windows和Linux上,它只是一些MyApp.app文件夹,文件将在里面。 通过代码切换情况和路径真的是解决这个问题的唯一方法吗? 谢谢Windows,Mac和Linux上的Java程序(Unix)
1
A
回答
2
您可以向JVM询问给定类的物理位置。 From 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文件,这也可以工作。
当你知道位置时,你可以从那里导航。
1
相关问题
- 1. 程序挂在Linux和Windows上,似乎在Mac上工作
- 2. 在Windows和Linux上运行的Visual Java应用程序
- 3. 在Windows和Linux上运行C++程序
- 4. 如何从Windows测试Unix上的Java程序?
- 5. 为java web应用程序(linux和Windows)创建安装程序
- 6. 在Unix和Windows下运行程序
- 7. Linux/Windows for Java云应用程序?
- 8. Java Windows/Linux程序Alt Tab循环
- 9. Java主题:在Windows和Linux上
- 10. UNIX编程linux
- 11. 在Mac,Windows和Linux上使用CFFI和线程支持的Common Lisp实现?
- 12. 在Windows和Linux上部署C#Windows窗体应用程序
- 13. 如何在Windows和Mac上为Java应用程序设置适当的字体?
- 14. gui代码在windows和linux上工作,但没有在mac上
- 15. 在没有符号的Windows和Mac OS X/Linux上的Callstack
- 16. 在Mac上运行C#(windows)程序
- 17. Unix/Linux中的程序配置数据
- 18. 在Solaris,Linux,Windows和Mac上清除C中的屏幕
- 19. Linux,Mac和Windows上的常见文件系统属性
- 20. 在Windows,Mac和Linux上呈现不同的Web字体
- 21. 从Windows,Mac和Linux上的位置检索文件
- 22. bash grep mac地址unix/linux用分号
- 23. 远程开发在Windows和Linux上
- 24. 在Windows和Linux机器上使用Java程序创建新文件夹
- 25. UNIX和LINUX解释
- 26. 在Mac上多次运行Java程序
- 27. 无法在mac上运行java程序
- 28. Java小程序CMD +转向Mac OSX上
- 29. 端口一个Rails应用程序从Windows到Mac或Linux
- 30. 将Mac OS X SpriteKit应用程序编译为Windows或Linux
我需要类的位置来做到这一点,或者我得到了什么错?还有一个问题是,.app文件夹内所需的jar文件不在lib文件夹中,因此在启动时由控制台/运行时引发ClassNotFoundExceptions。 – Magreet 2011-06-04 13:59:22
我得到了一个解决方法1.绑定.app 2.进入.app并将jar移动到lib文件夹中3.从.app doubleclick和Runtime.getRuntime()。exec()开始工作...但这并不漂亮: -/ – Magreet 2011-06-04 14:05:29
这听起来像你没有按照预期的方式去做。你应该使用官方的Apple jar捆绑器来创建一个不错的捆绑包。 – 2011-06-04 14:25:43