我们在NetBeans中开发了一个基于NetBeans平台的应用程序。有一个第三方程序,我们有一个运行时依赖,更具体地说是其他progams lib文件夹中的jar。
我们应该如何在我们的类路径中包含其他程序的jar?
其他程序制造商的建议是将环境变量CLASSPATH设置为包含
C:\Progam Files\Other Program\lib\theJAR.jar
如果那是不可能的,我们应该将JAR.jar复制到JRE-HOME\lib\ext
我们不能在任何其他地方复制JAR.jar,这可能会导致它停止工作......
现在NetBeans没有注意到环境变量CLASSPATH上的内容。他们推荐的方法似乎是制作一个包装器,但这会导致复制jar,除非有一些方法可以创建一个指向CLASSPATH的包装器模块?
目前我们正在将jar复制到JRE-HOME\lib\ext
。但是,当我们安装一些java更新时,会有不必要的麻烦。
你有解决这个问题的方法吗?看起来似乎很简单,但我找不到合适的地方......
编辑:该应用程序是基于ant的。
答案 0 :(得分:1)
来自Module System API overview of the runtime infrastructure的文档(页面底部"常见问题和解决方案")
Q :我的模块可以从库外添加库JAR到类路径 IDE [读取:平台]安装?...
A :不容易。您有几个选择:
- 在ide.cfg [你的应用程序的.config文件]中添加一个条目。例如:
醇>-cp:a c:\ _ eak \ lib \ eak.jar 此启动文件提供了将类路径条目添加到IDE的Java调用的功能。
...
继续列出另外两个选项。第二个选项与您提出的解决方案相同。第三个是对模块进行分区并使用新的类加载器"因为我没有这方面的经验,所以我无法推荐这两种方式(但值得一读)。
假设您正在寻找第一个选项,you will need to add a custom .conf file到您的项目并在project.properties文件中指向它,如下所示:app.conf=nbproject/my.conf
。这会将您的自定义.conf文件添加到应用程序的安装目录,而不是通常添加的默认配置文件。当然,您需要将-cp:a c:\eak\lib\eak.jar
条目添加到此自定义配置文件中才能加载.jar。
在开发过程中,您需要将以下条目添加到project.properties文件中:run.args.extra=-cp:a c:\eak\lib\eak.jar
。这会将命令行选项传递给您的调试实例。
答案 1 :(得分:0)
您可以按照以下步骤添加.jar文件:
在名为“Projects”的左侧面板中打开项目并右键单击“Libraries”,然后选择“Add JAR / Folder ...”。
然后在打开的下一个对话框中从您存储它的位置选择.jar文件,然后按“打开”。
Vola完成!!! (使用相同的过程,您可以添加其他库,如JavaCV,JMF等)
现在您可以使用项目库中的.Jar文件。
希望它有所帮助。