Java 如何在jar文件中执行jar文件
我有一个项目谁的结构不能改变。我要做的就是 我有一个包含directores的主jar文件Java 如何在jar文件中执行jar文件,java,jar,Java,Jar,我有一个项目谁的结构不能改变。我要做的就是 我有一个包含directores的主jar文件 /classes /lib /main /manifest 我必须在执行主jar文件时调用Test1类。所以在清单文件中,我给出了主类的路径:path.to.file 我在包含实际应用程序的main文件夹中有另一个jar文件。如何在主文件夹中执行jar并执行清单文件中提到的Test2类 请给我一个解决方案或任何工作方向。非常感谢您的帮助。您不能在当前的类加载器中执行此操作,您需要一个新的类加载器 如果您
/classes
/lib
/main
/manifest
我必须在执行主jar文件时调用Test1类。所以在清单文件中,我给出了主类的路径:path.to.file
我在包含实际应用程序的main
文件夹中有另一个jar文件。如何在主文件夹中执行jar并执行清单文件中提到的Test2
类
请给我一个解决方案或任何工作方向。非常感谢您的帮助。您不能在当前的类加载器中执行此操作,您需要一个新的类加载器 如果您的jar名为
foobar.jar
,并且在类test.abc.main
中有一个main
-方法,那么这可能会起作用:
URL[] urls={new URL("classloader:/main/foobar.jar")};
ClassLoader parentClassLoader = this.getClass().getClassLoader();
URLClassLoader childClassLoader=new URLClassLoader(urls,parentClassLoader);
Class clazz = childClassLoader.loadClass("test.abc.Main");
String[] arguments = new String[]{};
clazz.getMethod("main", arguments.getClass()).invoke(null,arguments);
这里有一个链接可以帮助你回答你的问题@AdrianTotolici链接中的答案不能处理罐子中的罐子。