我正在使用Netbeans RCP开发应用程序。我添加了一个选项,可以在我的平台的project.properties
文件中将jar添加到我的类路径中:
run.args.extra=-cp:a ./appclient/glassfish/lib/gf-client.jar
我遇到的问题是,当我从Netbeans IDE运行它时,它确实有效,但是当我尝试创建一个独立的应用程序(例如,为Mac OSX构建)时,它没有。我听说当你运行一个独立的应用程序时,project.properties
不再被考虑在内了,当然我的appclient
目录中包含jar文件已不再存在于应用程序包中(所以我的jar不会被添加到类路径)。
如何让这个-cp选项适用于我的独立Mac OSX应用程序?
J-Djava.endorsed.dirs=/Users/altanis/appclient/glassfish/lib/gf-client.jar
但是当我运行.app(mac应用程序)时,我收到此错误:
-J-Djava.endorsed.dirs=/Users/altanis/appclient/glassfish/lib/gf-client.jar: No such file or directory
路径正确。我是否需要制作一些特殊的东西以使JVM意识到这一点?我按照this教程和作者在评论中的某处说了一遍:
是的,但是package-appclient会为您和您复制所有内容 应该能够使用背书将它放在类路径上 机制。解压缩由此创建的jar并添加所需的一切 从那里(罐子)到你的应用程序安装程序。然后你可以使用 赞同(-J-Djava.endorsed.dirs = $ {GFCLIENT_PATH})机制 你的app.conf把它放在应用程序类路径上。这样你 应该能够与您的客户一起部署它。
答案 0 :(得分:1)
我认为,创建新库是更好的方法。
答案 1 :(得分:0)
您必须向条目Class-path
添加条目MANIFEST.MF
例如
Class-Path: apache-commons-2.1.jar ejb-api-3.0.jar
所有这些jars
应该在您的应用程序的根目录中
您的申请应具有下一个结构
MyApplication.jar
/META-INF
/META-INF/MANIFEST.MF
/apache-commons-2.1.jar
/ejb-api-3.0.jar
/com/package/classes
或者您可以使用JDK的jar
工具来创建jar
在此处阅读更多内容Oracle doc