java - Eclipse 3.4 - 带有环境变量的外部 JAR

标签 java eclipse osgi classpath equinox

我正在开发 Lotus Notes 插件(Eclipse 3.4),需要依赖外部 SDK/连接器来获取一些 Java 依赖项和配置文件。

似乎为了正常工作,连接器安装文件夹中的文件必须位于类路径中。由于我不知道它安装在哪里,因此我必须依赖安装期间设置的环境变量(“IBMCMROOT”),其中包含该文件夹。

有没有办法使用Windows环境变量来定义eclipse插件的类路径?我尝试过在 list 中使用变量:

Bundle-ClassPath: external:$IBMCMROOT$/lib/cmb81.jar,
 $IBMCMROOT$/lib/cmbsdk81.jar,
 $IBMCMROOT$/lib/db2jcc.jar,
 .,
 $IBMCMROOT$/lib/guava-15.0.jar,
 $IBMCMROOT$/lib/log4j-1.2.17.jar

这会导致 ClassNotFoundExceptions...

最佳答案

不,Bundle-ClassPath 不以这种方式使用。它只能引用包本身内的路径。

为了从未知位置的任意外部 JAR 文件加载类,您需要使用 URLClassLoader

关于java - Eclipse 3.4 - 带有环境变量的外部 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19546611/

相关文章:

java - 通过并发任务数量限制异步 Mono(不基于时间)

Android 无法识别我的 android 7inch tablet 3.2 honeyComb

java - 如何仅使用 GWT 开发模块化企业应用程序

java - 为什么 gradle 会生成空文件?

java - JBoss 上未生成线程转储

java - Kafka Log4j 附加程序中的延迟

java - eclipse : Setting up the Ctrl+Space to display "Java Proposals" panel

java - 使用字节数组而不是文件位置安装 osgi 包?

java - 使用 OSGi 时是否可以进行字节码操作?

java - Java中的反向正则表达式