简体   繁体   English

如何解决由:java.lang.ClassNotFoundException:javax.xml.bind.JAXBException迁移到Java 11(Openjdk-11.0.1)

[英]how to solve Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException migrating to Java 11(Openjdk-11.0.1 )

I have installed OpenJDK 11.0.1 and when i try to run my application using mvn install, i get the following error, i have added the necessary dependency as fix by adding javax.xml.bind to my pom.xml but it doesn't seem to work, anybody faced this problem?我已经安装了 OpenJDK 11.0.1,当我尝试使用 mvn install 运行我的应用程序时,出现以下错误,我通过将 javax.xml.bind 添加到我的 pom.xml 添加了必要的依赖项作为修复,但它没有似乎工作,有人遇到过这个问题吗? do i need to do anything else?我还需要做什么吗? my mvn --version returns this我的 mvn --version 返回这个

Maven home: /usr/local/Cellar/maven/3.5.2/libexec
Java version: 11.0.1, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.2", arch: "x86_64", family: "mac"

i add this but didn't fix the problem我添加了这个但没有解决问题

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>

and here is what i get这是我得到的

[INFO] --- maven-failsafe-plugin:2.20:integration-test (failsafe-integration-tests) @ name-sample-test ---
[WARNING] Error injecting: org.apache.maven.plugin.failsafe.IntegrationTestMojo
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3138)
    at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2358)
    at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
    at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:99)
    at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:658)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:882)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1006)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1038)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1001)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
    at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
    at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:65)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
    at org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:63)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
    at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
    at org.eclipse.sisu.inject.Guice4$1.get(Guice4.java:162)
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81)
    at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:517)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:121)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    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:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    ... 56 more

You need add this dependency as well, 您还需要添加此依赖项,

<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
</dependency>

I had a similar issue before when I tried to deploy my Spring Boot app to a stand-alone servlet container which carries its own JAXB implementation. 在尝试将Spring Boot应用程序部署到带有自己的JAXB实现的独立servlet容器之前,我遇到了类似的问题。 Your application was forced to use the JAXB library from the environment instead of using the jaxb-api from Maven dependency. 您的应用程序被迫使用环境中的JAXB库,而不是使用Maven依赖项中的jaxb-api You can fix that by including a single line in your Application.java . 您可以通过在Application.java包含一行来解决此问题。

public static void main(String[] args) {
    // com.sun.xml.bind.v2.ContextFactory comes from within your depedency
    System.setProperty("javax.xml.bind.JAXBContextFactory", "com.sun.xml.bind.v2.ContextFactory");

    SpringApplication.run(MonolithicApplication.class, args);
}

i want to give a simple and easy solution about this Exception , just downgrade the android studio version upto 4.1.1 or less .我想就这个异常给出一个简单易行的解决方案,只需将android studio 版本降级到 4.1.1 或更低 Make sure you don't have android studio arctic fox (2020.3.1) version ,because latest version don't support old project of android.确保您没有android studio arctic fox (2020.3.1) 版本,因为最新版本不支持旧的 android 项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.ClassNotFoundException:运行python代码时出现javax.xml.bind.JAXBException - java.lang.ClassNotFoundException: javax.xml.bind.JAXBException while running python code javax.xml.bind.JAXBException 与 Java 11 - javax.xml.bind.JAXBException with Java 11 javax.xml.bind.JAXBException [java.lang.ClassNotFoundException: com.sun.xmldk.bind.52Factory] - javax.xml.bind.JAXBException [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] in jdk1.5 线程“main”中的异常java.lang.ExceptionInInitializerError引起:javax.xml.bind.DataBindingException:javax.xml.bind.JAXBException - Exception in thread “main” java.lang.ExceptionInInitializerError Caused by: javax.xml.bind.DataBindingException: javax.xml.bind.JAXBException ClassNotFoundException:javax.xml.bind.JAXBException(再次) - ClassNotFoundException: javax.xml.bind.JAXBException (again) 切换到 Java 9 时 Spring Boot 的 javax.xml.bind.JAXBException 的 ClassNotFoundException - ClassNotFoundException for javax.xml.bind.JAXBException with Spring Boot when switch to Java 9 javax.xml.bind.JAXBException Hibernate Java 10 - javax.xml.bind.JAXBException Hibernate Java 10 如何解决 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException - How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException 如何解决“主线程中的异常 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException” - How to solve " Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException" 引起:java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet - Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM