我们正在将我们的项目从Java8迁移到Java11。其中一个API依赖于使用JAXB的库。正如我们所知,JAXB是从JAVA11中删除的,我们开始在库的POM中包含JAXB依赖项。
<!-- https://mvnrepository.com/artifact/jakarta.xml.bind/jakarta.xml.bind-api -->
<!-- API -->
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>2.3.3</version>
</dependency>
<!-- Runtime -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.2</version>
</dependency>
当我们运行API项目时,一切正常
mvn spring boot:运行
但是,当API部署在QA服务器中,并使用带有-
java-jar Sample-api 3.0.0-SNAPSHOT. jar
当调用依赖于JAXB的库时,API抛出以下错误-
Caused by: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:269)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:412)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:721)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:662)
at com.eoriginal.ecore.client.documents.SearchDocumentHistoryAPI$RequestParameters.toMap(SearchDocumentHistoryAPI.java:344)
... 14 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:122)
at javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:155)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:267)
JAXB需要javax。激活
模块,成为雅加达。更名为Jakartae后激活。包括这种依赖关系应该有帮助:
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.0.0</version>
</dependency>
这适用于Java8 但在Java11中,我得到了
我有一个用于java程序的库。 它包含下一行: 它在java8上运行正常,但在我尝试在java11上启动它之后,我得到了ClassCastException JAVAClassCastException:类jdk。内部的加载器。ClassLoaders$AppClassLoader不能强制转换为java类。网URLClassLoader 有可能解决这个pb而不修改库吗?AFAIK,Java应该向下
Java(TM)SE运行时环境(构建1.8.0_102-B14) Java HotSpot(TM)64位服务器VM(构建25.102-B14,混合模式) 我知道jdk11不包含jre,但是我如何在java 11中从cmd运行java程序呢
我不确定似乎是什么问题,但这种膝盖迁移失败了。尽管我是编写迁移的新手,但我坚信此迁移文件是正确的。生成的错误如下 代码如下。最初,这些迁移函数在单独的文件中,我认为它失败了,因为文件没有同步执行,这导致我编写了一个文件。我不确定这是否有帮助,但是当我删除包含外键引用(UserRoles、RolePer的、令牌)的表的代码时,其余的似乎都在工作。
我正在尝试分别从android的mapbox库迁移到较新版本: mapbox android sdk从6.7.0到7.3.2, mapbox android core从0.2.0到1.3.0, mapbox android导航从0.18.0到0.36.0, mapbox android导航界面从0.18.0到0.36.0 但是,当我同步更新的版本时,生成部分会出现以下错误: 错误:Android资
Angular 是使用 TypeScript 构建的,并且支持向 Angular 提供元信息的装饰器。 TypeScript 的装饰器会让语法感觉更加“自然”,尽管有可能使用 Angular 没有的功能。
我的应用程序(Postgres)中有7个不同的模式,我做了两次迁移来更改列,一次影响A模式,另一次影响公共模式。我想知道这种意外行为的原因。
我试图迁移我的整个项目,我有这个问题在main.jsx文件。 “react路由器”:“3.0.x” “材料界面”:“^0.19.4” “react redux”:“4.4.8” 对象作为React子对象无效(找到:具有键{default}的对象)。如果要呈现子对象集合,请改用数组。在路由器中(在main.jsx:68)在MuiThemeProvider中(在main.jsx:67)在Provide