【问题标题】:Java JSON package importing failureJava JSON 包导入失败
【发布时间】:2014-07-13 00:25:10
【问题描述】:

我在 Ubuntu 下使用 OpenJDK 7 (openjdk-7-jdk), 使用以下命令编译我的代码

javac -d ./classes ./src/Program.java

我的代码包含导入

...
import java.util.concurrent.ExecutorService;
import javax.json.Json;
import javax.json.stream.JsonParser;
import javax.swing.text.html.parser.ParserDelegator;
...

我收到以下错误

./src/Program.java:21: error: package javax.json does not exist
import javax.json.Json;
                 ^
./src/Program.java:22: error: package javax.json.stream does not exist
import javax.json.stream.JsonParser;
                        ^

奇怪的是从 javax.swing 或 java.util 导入没有问题。

请告诉我,我做错了什么?

【问题讨论】:

  • 你的类路径中有 javax.json.* 库吗?
  • echo ${CLASSPATH} 什么也没给我
  • 在启动javac 命令时,使用-classpath 键并指定包含javax.json.* 包的库的位置。并检查此链接:kevinboone.net/classpath.html
  • 感谢您的链接,但我什至不知道 javax.json.* 包应该在哪里。我的意思是javax.json是标准包,安装OpenJDK时不是必须配置的吗?
  • 据我所知,我可能错了,但是 OpenJDK 不包含 javax.json 包作为标准库。在此处下载 javax.json jar 文件:java2s.com/Code/Jar/j/Downloadjavaxjson10jar.htm 并在编译时在 javac 类路径中指定它,在执行代码时在 java 类路径中指定它。

标签: java json package


【解决方案1】:

要遵循的步骤:

  1. 下载javax.json jar file

  2. 下载此 jar 文件后,在 java 编译器类路径中指定它,使用 javac -classpath 键。

  3. 编译完代码后,使用-cp key for java 命令在代码执行时在运行时类路径中指定此jar 文件。

更多关于类路径设置的详细信息可以在这里找到:http://kevinboone.net/classpath.html

【讨论】:

  • 我已将 javax.json-1.0.2.jar 下载到之前创建的 ./lib 文件夹中,将程序编译为 javac -cp ./lib/javax.json-1.0.2.jar -d 。 /classes ./src/Program.java 一切正常。谢谢!但我仍然很困惑为什么我需要手动下载一些标准库?为什么 OpenJDK 的开发人员没有将 JSON 包含到他们的 DevKit 中,谁能告诉我?
  • 我不使用OpenJDK,所以我不知道为什么它不包含json作为标准库。 Oracle Java SE JDK 也不包含此库。它来自 Java Enterprise Edition SDK。
  • @kernelbug 回答您的问题:我认为 OpenJDK 开发人员存在许可问题,因此他们没有将此库包含到 OpenJDK 中。只是我的意见。
猜你喜欢
  • 1970-01-01
  • 2017-08-08
  • 2019-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2017-11-10
相关资源
最近更新 更多