java.lang.NoClassDefFoundError:javax / json / Json

卢克·天行者

我有一个简单的Java项目,我想在其中构建一个Json字符串。为此,我使用javax.json:

import javax.json.Json;
import javax.json.JsonObjectBuilder;

public class MyClass {
    public void MyFunc() {
        JsonObjectBuilder myBuilder = Json.createObjectBuilder(); # this line will trigger the exception
        // And some other code
    }
}

该项目是使用maven构建的,在pom中,我添加了以下依赖项:

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>javax.json</groupId>
    <artifactId>javax.json-api</artifactId>
    <version>1.0</version>
  </dependency>
  <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.json</artifactId>
      <version>1.0.4</version>
  </dependency>    
</dependencies>

编译正常。当我使用该命令执行代码时:

java -cp target/classes MyClass

主要在MyClass中。我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/json/Json
[...]
Caused by: java.lang.ClassNotFoundException: javax.json.Json
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 6 more

在对Json.createObjectBuilder()的调用上。

如果在targer文件夹中运行症状,则症状相同:

java MyClass

我已经签到〜/ .m2 / repository文件夹,并且有javax / json / javax.json-api / 1.0 / javax.json-api-1.0.jar。解压缩后,可以看到Json.class文件。

怎么了 ???

埃拉德·塔巴克(Elad Tabak)

类路径没有javax.json-api-1.0.jar。像这样运行它:

java -cp target / classes:〜/ .m2 / repository / javax / json / javax.json-api / 1.0 / javax.json-api-1.0.jar MyClass

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何修复 “异常线程 ”main“ java.lang.NoClassDefFoundError:COM / Dropbox的/核心/ JSON / JsonReader $ FileLoadException”

java.lang.NoClassDefFoundError:使用javax /的/ ELManager

月蚀:java.lang.NoClassDefFoundError:使用javax /激活/ DataHandler的

java.lang.IllegalStateException:不是JSON对象

java.lang.NoClassDefFoundError:io / restassured / path / json / mapper / factory / JsonbObjectMapperFactory

java.lang.NoClassDefFoundError:javax / validation / ParameterNameProvider

Java Json漂亮打印javax.json

java.lang.NoClassDefFoundError:javax / ws / rs / core / Configuration

java.lang.NoClassDefFoundError:javax / servlet / ServletContext

java.lang.NoClassDefFoundError:org / json / JSONObject

javax.servlet.ServletException:java.lang.NoClassDefFoundError:javax / servlet / jsp / jstl / core / ConditionalTagSupport

java.lang.NoClassDefFoundError:javax / servlet / http / HttpServletRequest

jython java.lang.NoClassDefFoundError:java.lang.NoClassDefFoundError:org / json / simple / JSONObject

java.lang.NoClassDefFoundError:org / json / JSONObject当Java类在OAM服务器上运行时

异常:java.lang.NoClassDefFoundError-org / json / simple / JSONValue

java.lang.NoClassDefFoundError:javax / activation / DataContentHandler

如何解决:javax.servlet.ServletException:java.lang.NoClassDefFoundError:javax / xml / ws / soap / SOAPFaultException

java.lang.NoClassDefFoundError:javax / mail / MessagingException未解决

远程对象中javax.json.JsonValue的Java RMI NoClassDefFoundError

java.lang.NoClassDefFoundError:javax / persistence / EntityListeners

java.lang.NoClassDefFoundError:javax / servlet / http / HttpServlet

Java Spring MVC-java.lang.NoClassDefFoundError:javax / servlet / ServletContext

Tomcat + JPA + MySQL:java.lang.NoClassDefFoundError:javax / persistence / Persistence

播放json 2.7.1:java.lang.NoSuchMethodError

Sring Boot 1.5.20 / GraphQl Java扩展标量,支持“ Json”,在应用程序启动期间提供java.lang.NoClassDefFoundError

java.lang.NoClassDefFoundError:javax / servlet / jsp / jstl / core / ConditionalTagSupport

使用org.json库的java.lang.NoClassDefFoundError

使用json-schema-validator-2.2.6时获取异常java.lang.NoClassDefFoundError

Jboss 7.5中的java.lang.NoClassDefFoundError:javax / net / SocketFactory)