2012-07-27 98 views
1

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

我想让每个可运行jar文件都引用一个包含所需外部jar的单个实例的单个目录。

这可能吗?

在此先感谢。

回答

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");