如何自定义独立netbeans应用程序的java选项?

时间:2012-12-13 09:59:45

标签: java netbeans classpath netbeans-platform

我正在使用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应用程序?


编辑:我能够为我的独立平台创建自定义配置文件,但我找不到将jar添加到类路径的方法,我不知道要使用哪些选项。

编辑:我发现我需要你认可的机制来实现它。所以我在app.conf文件中添加了以下命令:

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把它放在应用程序类路径上。这样你   应该能够与您的客户一起部署它。

2 个答案:

答案 0 :(得分:1)

我认为,创建新库是更好的方法。

  1. 使用必需的jar创建模块类型库
  2. 在您的模块中,将依赖项添加到已创建的模块(类型包装库)

答案 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