在多个可运行的罐子中使用单个外部罐子

时间:2012-07-27 09:37:01

标签: java eclipse jar

我有多个可运行的jar文件。每个jar文件都引用相同的外部jar文件。当我尝试使用eclipse单独导出我的runnable jar文件时,每个导出都会创建一个目录,例如: jar1_lib,jar2_lib。每个目录都包含相同的引用jar文件。

我希望每个可运行的jar文件引用一个目录,该目录包含所需外部jar的单个实例。

这可能吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

从技术上讲,这是可能的,但您需要更新使用此单个jar文件的所有项目的源代码。

考虑JCL Framework

下面是this comment

的示例代码
JarClassLoader jcl = new JarClassLoader();  
jcl.add("myjar.jar"); //Load jar file  
jcl.add(new URL("http://myserver.com/myjar.jar")); //Load jar from a URL  
jcl.add(new FileInputStream("myotherjar.jar")); //Load jar file from stream  
jcl.add("myclassfolder/"); //Load class folder  
jcl.add("myjarlib/"); //Recursively load all jar files in the folder/sub-folder(s)  

JclObjectFactory factory = JclObjectFactory.getInstance();  

//Create object of loaded class  
Object obj = factory.create(jcl,"mypackage.MyClass");