如何使用-Djava.library.path重新启动Java进程?
我有一个使用 JWS 启动的应用程序。用户第一次启动此应用程序时,必须选择安装 Berkeley DB XML 的路径。我确实需要它来设置本机库路径并使用 -Djava.library.path 参数重新启动应用程序。 Berkeley DB XML java 绑定使用 JNI 来调用数据库。由于我们的用户可能有不同的操作系统,我不能依赖默认位置。
所以,我在获取当前类路径时遇到问题。当我打印出“java.class.path”时,它只给我“/System/Library/Frameworks/JavaVM.framework/Resources/Deploy.bundle/Contents/Home/lib/deploy.jar”。我有三个罐子,在我的系统道具中找不到。 在我的 Mac 上。
我希望这是可以理解的,并感谢您事先提供的任何提示。
I have an application that is started with JWS. The first time user launches this application he has to choose a path where Berkeley DB XML is installed. I do need this to set the native library path and restart the application with -Djava.library.path parameter. Berkeley DB XML java bindings uses JNI to make calls to the database. Since our users may have different OS I cannot rely on a default location.
So, I have a problem with getting current classpath. When I print out "java.class.path" it only gives me "/System/Library/Frameworks/JavaVM.framework/Resources/Deploy.bundle/Contents/Home/lib/deploy.jar". I have three jars that I cannot find in my sys props.
on my Mac.
I hope this was understandable and thanks for any tips beforehand.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试使用 DiskUtil 修复权限。
避免使用这种模式。您可以做的是存储命令并执行该命令,模拟您正在启动一个新进程。
Try to repaire permissions with DiskUtil.
Avoid using this pattern. What you could do is to store the command and execute that simulating that you are starting a new process.