Java 找不到提供程序(ClassNotFoundException)maven项目

Java 找不到提供程序(ClassNotFoundException)maven项目,java,maven,javafx,jersey,Java,Maven,Javafx,Jersey,我对使用JavaSE-11的maven项目有一个问题。 开发环境是vscode,带有java插件,用于管理项目debug ecc 我已经成功地在module-info.java中插入了所需的模块,并且导入都正常 对于vscode,但在运行应用程序时,我在运行时出现以下错误: /usr/lib/jvm/jdk-14.0.2/bin/java -XX:+ShowCodeDetailsInExceptionMessages -Dfile.encoding=UTF-8 @/tmp/cp_4bmlvzgw

我对使用JavaSE-11的maven项目有一个问题。 开发环境是vscode,带有java插件,用于管理项目debug ecc

我已经成功地在module-info.java中插入了所需的模块,并且导入都正常 对于vscode,但在运行应用程序时,我在运行时出现以下错误:

/usr/lib/jvm/jdk-14.0.2/bin/java -XX:+ShowCodeDetailsInExceptionMessages -Dfile.encoding=UTF-8 @/tmp/cp_4bmlvzgw4a4i4xcyfpyjt66n3.argfile -m ale/ale.App 
Exception in Application start method
java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Exception in Application start method
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
        at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: javafx.fxml.LoadException: 
/home/alessio/dev/java/esercizi/jersey-javafx_v0.1/target/classes/ale/login.fxml:11

        at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625)
        at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603)
        at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
        at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435)
        at ale/ale.App.loadFXML(App.java:32)
        at ale/ale.App.start(App.java:21)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
        at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
        at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
        at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
        ... 1 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Provider for jakarta.ws.rs.client.ClientBuilder cannot be found
        at jakarta.ws.rs/jakarta.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:77)
        at jakarta.ws.rs/jakarta.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:88)
        at ale/ale.LoginController.<init>(LoginController.java:34)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:124)
        at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:346)
        at java.base/java.lang.Class.newInstance(Class.java:604)
        at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:936)
        at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:980)
        at javafx.fxml/javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:227)
        at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:752)
        at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722)
        at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
        ... 13 more
Caused by: java.lang.ClassNotFoundException: Provider for jakarta.ws.rs.client.ClientBuilder cannot be found
        at jakarta.ws.rs/jakarta.ws.rs.client.FactoryFinder.find(FactoryFinder.java:168)
        at jakarta.ws.rs/jakarta.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:62)
        ... 28 more
Exception running application ale.App
/usr/lib/jvm/jdk-14.0.2/bin/java-XX:+showcodetailsinexceptionmessages-Dfile.encoding=UTF-8@/tmp/cp4bmlvzgw4a4i4xycyfpyjt66n3.argfile-m ale/ale.App
应用程序启动方法中的异常
java.lang.reflect.InvocationTargetException
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.base/java.lang.reflect.Method.invoke(Method.java:564)
位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplicationWithArgs(LaunchImpl.java:464)
位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplication(LaunchImpl.java:363)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.base/java.lang.reflect.Method.invoke(Method.java:564)
位于java.base/sun.launcher.launchelper$FXHelper.main(launchelper.java:1051)
原因:java.lang.RuntimeException:应用程序启动方法中的异常
位于javafx.graphics/com.sun.javafx.application.LaunchImpl.launchApplication1(LaunchImpl.java:900)
在javafx.graphics/com.sun.javafx.application.LaunchImpl.lambda$launchApplication$2(LaunchImpl.java:195)
位于java.base/java.lang.Thread.run(Thread.java:832)
原因:javafx.fxml.LoadException:
/home/alesio/dev/java/esercizi/jersey-javafx_v0.1/target/classes/ale/login.fxml:11
位于javafx.fxml/javafx.fxml.fxmloader.constructLoadException(fxmloader.java:2625)
位于javafx.fxml/javafx.fxml.fxmloader.loadImpl(fxmloader.java:2603)
位于javafx.fxml/javafx.fxml.fxmloader.loadImpl(fxmloader.java:2466)
位于javafx.fxml/javafx.fxml.fxmloader.load(fxmloader.java:2435)
位于ale/ale.App.loadFXML(App.java:32)
在ale/ale.App.start(App.java:21)
在javafx.graphics/com.sun.javafx.application.launchempl.lambda$launchApplication1$9(launchempl.java:846)
在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
位于java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
位于javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
位于javafx.graphics/com.sun.glass.ui.invokelateDispatcher$Future.run(invokelateDispatcher.java:96)
在javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.\u runLoop(本机方法)
在javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
... 还有一个
原因:java.lang.RuntimeException:java.lang.ClassNotFoundException:找不到jakarta.ws.rs.client.ClientBuilder的提供程序
位于jakarta.ws.rs/jakarta.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:77)
位于jakarta.ws.rs/jakarta.ws.rs.ClientBuilder.newClient(ClientBuilder.java:88)
位于ale/ale.LoginController(LoginController.java:34)
位于java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
位于java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:124)
位于java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:346)
位于java.base/java.lang.Class.newInstance(Class.java:604)
位于javafx.fxml/javafx.fxml.fxmloader$ValueElement.processAttribute(fxmloader.java:936)
在javafx.fxml/javafx.fxml.fxmloader$InstanceDecrationElement.processAttribute(FXMLLoader.java:980)
在javafx.fxml/javafx.fxml.fxmloader$Element.processStartElement(fxmloader.java:227)
位于javafx.fxml/javafx.fxml.fxmloader$ValueElement.processStartElement(fxmloader.java:752)
位于javafx.fxml/javafx.fxml.fxmloader.processStartElement(fxmloader.java:2722)
位于javafx.fxml/javafx.fxml.fxmloader.loadImpl(fxmloader.java:2552)
... 还有13个
原因:java.lang.ClassNotFoundException:找不到jakarta.ws.rs.client.ClientBuilder的提供程序
位于jakarta.ws.rs/jakarta.ws.rs.client.FactoryFinder.find(FactoryFinder.java:168)
位于jakarta.ws.rs/jakarta.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:62)
... 28多
运行应用程序ale.App时发生异常
导入ClientBuilder时,LoginController.java(导入jakarta.ws.rs.client.ClientBuilder)中没有错误

完整的应用程序代码位于


感谢您的回复。

如果我正确解释了错误消息,则缺少的不是
ClientBuilder
,而是
ClientBuilder
的提供者。请记住,javaee(或者现在所知的jakartae)只是规范和接口的集合。您需要在类路径/模块路径上有一个实现。