如何在main中调用jar文件

How to call jar files in main

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

例如,我有这些罐子,它们执行一项特定任务。这些早就做好了。

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

我想创建一个菜单:

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

根据用户的选择,我调用每个 jar 文件。我相信我确实需要 shell 出来打电话给它?

谢谢

一个好的方法是

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.

您甚至可以通过创建 class.

的可运行 JAR 来制作最终的 jar

您可以使用 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);  
    }  
}