Java JSON包导入失败

Java JSON包导入失败,java,json,package,Java,Json,Package,我在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.Parser

我在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导入没有问题

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

以下步骤:

  • 下载

  • 下载完这个jar文件后,使用javac
    -classpath
    键在java编译器类路径中指定它

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


  • 关于类路径设置的更多详细信息可以在这里找到:

    您的类路径中有javax.json.*库吗?echo${classpath}没有给我任何信息在启动
    javac
    命令时,使用
    -classpath
    键并指定库的位置,其中包含
    javax.json.
    包。检查这个链接:谢谢你的链接,但我甚至不知道javax.json.*包应该放在哪里。我的意思是javax.json是标准包,安装OpenJDK时不是必须配置它吗?据我所知,我可能错了,但OpenJDK不包含作为标准库的javax.json包。在这里下载javax.json jar文件:编译时在javac classpath中指定它,执行代码时在java classpath中指定它。我已经将javax.json-1.0.2.jar下载到以前创建的./lib文件夹中,将程序编译为javac-cp./lib/javax.json-1.0.2.jar-d./classes./src/program.java,一切正常。非常感谢。但我仍然不明白为什么我需要手动下载一些标准库?为什么OpenJDK的开发人员没有在他们的DevKit中包含JSON,有人能告诉我吗?我不使用OpenJDK,所以我不知道为什么它没有包含JSON作为标准库。Oracle Java SE JDK也不包含此库。它来自Java Enterprise Edition SDK。@kernelbug回答您的问题:我认为OpenJDK开发人员存在许可问题,因此他们不将此库包含到OpenJDK中。只是我的意见。