繁体   English   中英

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

[英]Eclipse 3.4 - external JARs with environment variables

我正在开发Lotus Notes插件(它是Eclipse 3.4),并且需要依赖外部SDK / Connector来获取一些Java依赖关系以及配置文件。

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

有什么方法可以将Windows环境变量用于Eclipse插件的类路径定义? 我试过在清单中使用变量:

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

external:是Eclipse容器主义。 但是我认为您需要在每个外部jar前面加上external: :。 另外, IBMCMROOT必须是系统属性(不是环境变量)。 例如,使用-DIBMCMROOT=...启动Java -DIBMCMROOT=...

但是,我不会这样做。 而是将这些必要的jar放在类路径上,并配置系统捆绑包以导出那些包,然后可以从捆绑包中导入这些包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM