[英]Load jar dynamically
在我的Java应用程序中,我将jar文件(与Maven阴影插件打包在一起)读入字节流。 jar中有一个在POM.xml
定义的入口点类
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.mycompany.TheEntryPoint</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
如何将此类动态加载到Java应用程序中?
更新:
最简单的方法是使用URLClassLoader
而不是尝试从字节流重新开始。 您始终可以将.jar写入临时文件,并为此创建URL。
代码如下所示:
URLClassLoader loader = new URLClassLoader(
new URL[] {new URL("file://...")},
Thread.currentThread().getContextClassLoader());
loader.loadClass("com.mycompany.TheEntryPoint");
您还可以使用JarURLConnection
自动检测(或调用)主类名称。 (Oracle还提供了有关使用此类的教程 。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.