如何在main中调用jar文件

时间:2015-03-26 07:00:16

标签: java jar

我有很多jar文件可以自己做一些小任务。我希望创建一个带有菜单的主类,并要求用户执行任务。如何从主类调用外部jar文件?使用系统调用?我不想重新做所有jar文件,将它们组合成一个主程序。

例如我有这些罐子,它完成一项特殊任务。这些已经很久以前就已经完成了。

myPrintToPrinter.jar 
mySendEmail.jar
myCheckBuffer.jar
myAuditTrail.jar

我想创建一个菜单:

1) Print to printer
2) SEnd email
3) ....

从用户选择,我调用每个jar文件。我相信我确实需要打电话给它吗?

感谢

2 个答案:

答案 0 :(得分:1)

一个好的方法是

1) create a folder with name lib
2) add all the required jar files there
3) Add the dependent jar files in the project (select from the lib folder,
   this is a good practice to keep the jars within the project folder to avoid path 
   dependencies when you move the project).
4) Create your required class and perform all the checks (logic part) in the main function.

你甚至可以通过创建该创建类的RUNNABLE JAR来制作最终的jar。

答案 1 :(得分:1)

您可以使用URLClassLoader加载JAR。 PFB示例代码如何从Java代码加载JAR。 希望这会有所帮助。

TestClass.java :
public static void main(String[] args)
{
    URLClassLoader loader = (URLClassLoader)ClassLoader.getSystemClassLoader();  
    MyClassLoader l = new MyClassLoader(loader.getURLs());  
    l.addURL(new URL("file:C:/work/mytestjar.jar")); 
    Class c = l.loadClass("com.test.MyJarClass"); // com.test.MyJarClass is the class from JAR
}

MyClassLoader.java:
public class MyClassLoader extends URLClassLoader
{  

    public MyClassLoader(URL[] urls) {  
        super(urls);  
    }  

    @Override  
    public void addURL(URL url) {  
        super.addURL(url);  
    }  
}