我有以下代码行
import javax.xml.bind.DatatypeConverter;
Run Code Online (Sandbox Code Playgroud)
这给了我一个
javax.xml.bind cannot be resolved
Run Code Online (Sandbox Code Playgroud)
在哪里可以找到此导入的库文件?
我正在尝试学习适用于 Java 的 AWS 开发工具包。所以,我设置了一个亚马逊账户并访问了这个链接
我下载了示例项目,创建了我的凭据文件,然后尝试编译和运行示例。
我第一次这样做时,我收到了错误
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Source option 5 is no longer supported. Use 6 or later.
[ERROR] Target option 1.5 is no longer supported. Use 1.6 or later.
Run Code Online (Sandbox Code Playgroud)
所以我改变了我的 pom.xml 文件:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Run Code Online (Sandbox Code Playgroud)
对此:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
Run Code Online (Sandbox Code Playgroud)
之前的错误消失了,取而代之的是这个新错误:
[WARNING]
java.lang.reflect.InvocationTargetException
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:297)
at java.lang.Thread.run (Thread.java:844)
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.amazonaws.util.Base64.encodeAsString (Base64.java:36)
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个项目从Java8迁移到Java9,但我遇到了下面的运行时异常,我尝试了 Stack-overflow 社区和其他博客建议的所有可能的解决方案,但没有解决问题,我可能在pom文件,我不知道或缺少需要传递的参数中的某些内容maven-compiler-plugin
例外
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'validator' defined in com.test-java9.content.config.ValidationConfiguration: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at …Run Code Online (Sandbox Code Playgroud) 我一直在尝试升级我的 JHipster 5 应用程序以使用 Java 10,但我无法让它使用 Maven 编译和处理 JPA 静态元模型。
\n\n显然maven-compiler-plugin不是hibernate-jpamodelgen为了生成 JPA 静态元模型而触发。
为了升级项目,我有:
\n\n<java.version>10</java.version> 升级了 maven-compiler-plugin 以添加java.xml.bind模块(因为从 Java 10 开始默认不包含该模块),如下所示:
<plugin>\n <groupId>org.apache.maven.plugins</groupId>\n <artifactId>maven-compiler-plugin</artifactId>\n <version>${maven-compiler-plugin.version}</version>\n <configuration>\n <!-- fork is needed so compiler args can be used -->\n <fork>true</fork>\n <compilerArgs>\n <arg>-J--add-modules</arg>\n <arg>-Jjava.xml.bind</arg>\n </compilerArgs>\n <annotationProcessorPaths>\n <path>\n <groupId>org.mapstruct</groupId>\n <artifactId>mapstruct-processor</artifactId>\n <version>${mapstruct.version}</version>\n </path>\n <!-- For JPA static metamodel generation -->\n <path>\n <groupId>org.hibernate</groupId>\n <artifactId>hibernate-jpamodelgen</artifactId>\n <version>${hibernate.version}</version>\n </path>\n\n </annotationProcessorPaths>\n …Run Code Online (Sandbox Code Playgroud)我正在将旧版 Java 8 项目迁移到 Java 11。
该项目正在使用此类,javax.xml.rpc.Service
它是之前从库/jar 中获取的(我的意思是在 Java 8 中):jaxrpc.jar
但由于我要迁移到 Java 11,并且必须遵守“唯一可见性”的要求
(请参阅/sf/answers/3767726931/),
我必须删除包含此类的 JAR javax.xml.rpc.Service(jaxrpc.jar)来自我的项目...因为现在(在 Java 11 中,实际上是从 Java 9 开始)只有一个模块必须提供/公开javax.xml.rpcpackage。但我不认为这个Service类在JDK中。
那么我该如何解决这个问题呢?
我仍然需要javax.xml.rpc.Service,但我无法使用该类所在的罐子。我似乎被困在这里。
顺便说一句,我也有同样的问题javax.xml.rpc.ServiceException
解决此类问题的正确方法是什么?
我最近切换到 intellij,但我发现很难连接到我的 localDB。相同的代码在 Eclipse 上工作得很好。此外,我已经将 sqljdbc42.jar 添加为模块依赖项。
package com.enter;
import java.sql.*;
public class SqlConnect {
private String username, password, url;
public Connection conn;
public SqlConnect() {
username = "user=admin;";
password = "password=admin";
url = "jdbc:sqlserver://Bossman-PC\\SQL2014TRAINING;databaseName=EnterDB;";
Connect();
}
public SqlConnect(String user, String pass) {
username = user;
password = pass;
url = "jdbc:sqlserver://Bossman-PC\\SQL2014TRAINING;databaseName=EnterDB;";
Connect();
}
public void Connect() { //Loads sql driver and creates a connection object with local database
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = url + username + …Run Code Online (Sandbox Code Playgroud) 我有一个 API,它接收 JWT 令牌以进行授权。
一旦它开始使用令牌进行身份验证,它就会抛出此错误:
Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
我读到,在 Java 11 中,他们从 JDK 中删除了 java.xml.bind 库。我按照答案中的建议添加了这两个依赖项:
implementation "jakarta.xml.bind:jakarta.xml.bind-api:3.0.0"和
implementation "org.glassfish.jaxb:jaxb-runtime:3.0.0"。
也尝试implementation "jakarta.xml.bind:jakarta.xml.bind-api:3.0.0"过 和implementation 'com.sun.xml.bind:jaxb-impl:3.0.0'。
但我仍然遇到同样的错误,并且找不到任何其他解决方案。
我使用 Java 11 和 Spring boot 2.6.6。
谢谢您的帮助
我试图解决这个问题几个小时,我需要帮助:
它不是未知的问题,javax不是java 9的一部分,我无法弄清楚如何在没有以下exeption的情况下运行它:
Exception in thread "main" org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number 0 and column 0 in FILE C:\Users\Miles\Workspace\Projekte\SpringProjekte\RestForFun\resources\hibernate.cfg.xml. Message: null
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:133)
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:65)
at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlFile(ConfigLoader.java:76)
at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:167)
at org.hibernate.cfg.Configuration.configure(Configuration.java:300)
at noobz.teamz.RestForFun.RestForFunApplication.main(RestForFunApplication.java:31)
Caused by: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
- with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:278)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:421)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:721)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:662)
at org.hibernate.boot.cfgxml.internal.JaxbCfgProcessor.unmarshal(JaxbCfgProcessor.java:122)
... 5 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) …Run Code Online (Sandbox Code Playgroud) 我将我的项目使用的SDK升级到Java 10.以下import语句导致错误:
import javax.annotation.PostConstruct;
包'javax.annotation'在模块'java.xml.ws.annotation'中声明,但模块'application'不读取它
点击ALT + ENTER让Intellij修复它,我收到了以下选项:
我选择Add Maven Dependency...了以下依赖项添加到pom.xml中.
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
看着新添加的JAR的MANIFEST.MF,我注意到模块的名称是java.annotation.
所以我添加requires java.annotation到module-info.java.
module application {
requires java.annotation;
}
Run Code Online (Sandbox Code Playgroud)
当我按CTRL +点击时requires java.annotation:
Intellij正确导航到JAR:
所以看起来我的模块名称正确并且javax.annotation:javax.annotation-api我的模块可以使用.不幸的是,错误import javax.annotation.PostConstruct并没有消失.为了确认我的模块描述符是否正常工作,我添加了其他指令,并且一切正常.我还添加了指令requires java.xml.ws.annotation,
这导致import语句错误消失但当然,这不是一个令人满意的解决方案,因为java.xml.ws.annotation已被弃用并标记为要删除.
有关如何解决此问题的任何想法?我需要能够将模块java.annotation提供给模块,application并且从我在这里和这里以及此处和此处阅读的方法来实现它是通过向模块路径添加JAR,以及我在这里阅读的新内容必须通过module-info.java中的指令引用添加的模块.
java module intellij-idea java-platform-module-system java-9
我正在尝试在我的 macOS 10.14 系统上运行mqtt-spy-1.0.0.jar,但它无法启动,返回以下错误消息:

据开发人员称,如果系统上缺少 JavaFX,则会导致此问题。
如下所示,我的系统上安装了最新版本的 Oracle JDK,但是,我知道 Oracle 已从 v11 中的 JDK 中排除了 JavaFX。
所以我从 GluonHQ下载了JavaFX并按照他们的说明开始。
尽管在 ~/.bash_profile 中正确设置了两个必需的变量,但 mqtt-spy-1.0.0.jar 仍然返回第一个屏幕截图中显示的错误消息......
我还需要做什么或者我需要做什么不同的事情来运行 mqtt-spy?