[英]How add Flyway dependency and build native image Quarkus java.lang.ClassNotFoundException: org.jboss.vfs.VirtualFileFilter
[英]java.lang.ClassNotFoundException: io.quarkus.runtime.Quarkus
我正在嘗試運行 quarkus 應用程序的 runner jar,它將在 http 上監聽端口 9411。
以編程方式使用 UrlClassLoader,當我嘗試加載它拋出的 jar 時(也使用 java -jar) 1.java.lang.ClassNotFoundException: io.quarkus.runtime.Quarkus
2.java.lang.reflect.InvocationTargetException 這里是代碼片段,
URLClassLoader loader = new URLClassLoader(
new URL[]{ new File(<location of runner jar>).toURI().toURL()});
Thread.currentThread().setContextClassLoader(loader);
Class<?> mainClass = loader.loadClass("io.quarkus.runner.GeneratedMain");
Method mainMethod = mainClass.getMethod("main", String[].class);
mainMethod.invoke(null, (Object) new String[]{});
另一個觀察結果是,當我將 /lib 文件夾放在 runner jar 位置時,它會成功加載,這意味着它完全需要 lib 文件夾。
如何使我的代碼僅適用於 runner jar?
要生成包含運行應用程序所需的所有庫的胖 jar,請使用屬性quarkus.package.uber-jar=true
(您可以將其添加到src/main/resources/application.properties
或將其作為系統屬性傳遞運行構建時)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.