linux系统上的java包在哪里?包org.json不存在使用javac时出错

linux系统上的java包在哪里?包org.json不存在使用javac时出错,java,javac,org.json,Java,Javac,Org.json,我试图用javac编译我编写的一个库,我得到了一个错误:package org.json不存在。我的程序包括org.json.JSONArray和org.json.JSONException 我在我的计算机上安装了这个软件包,因为我已经成功编译了导入org.json库的android应用程序。我很确定我所要做的就是指定一个-classpath,但我一直无法找到这些文件在我的系统上的位置(ubuntu 10.10 64位sun-java6) 在我自己的系统上找不到这些文件后,我从下载了org.js

我试图用javac编译我编写的一个库,我得到了一个错误:
package org.json不存在
。我的程序包括
org.json.JSONArray
org.json.JSONException

我在我的计算机上安装了这个软件包,因为我已经成功编译了导入
org.json
库的android应用程序。我很确定我所要做的就是指定一个
-classpath
,但我一直无法找到这些文件在我的系统上的位置(ubuntu 10.10 64位sun-java6)

在我自己的系统上找不到这些文件后,我从下载了
org.json
文件,但我无法单独编译它们,因为它们相互依赖

所以我有几个问题:

  • 有人知道org.json在哪里吗 安卓sdk的软件包寿命 安装
  • 我在哪里可以找到教程 解释这些基本概念 关于编译和javac

  • 无论你喜欢哪里。您需要做的是检查CLASSPATH变量,并确保它包含库中的目录

    这是第一件事:

      $ echo $CLASSPATH
    
    您将看到类路径的原样

    现在需要找到包含org.json的jar文件;请参阅文档,但它可能非常简单,如
    json.jar
    。在大多数LINUX系统上,您可以只运行

     $ locate json.jar
    
    您将获得JAR文件的路径名。确保这个路径是你的类路径的一部分,你就会在肥城

    哦,Sun Oracle的“”教程是最容易开始的地方


    实际上,看过这些文件后,它们可能不会打包为jar文件。在这种情况下,您希望将它们放入源代码中,从某个顶级目录开始(
    src

    当您编译时,它们都会被包含,这将解决所有依赖关系


    同样,寻找第一步的地方是教程。

    编译时,需要使用的任何外部JAR都应该在类路径上。最非侵入性的方法是将这些项添加到javac命令行,如

    javac-classpath/path/to/json.jar-g YourClass.java

    或者,如果您使用IDE,则更可能将这些JAR添加到IDE中项目的引用JAR中


    污染全局
    $CLASSPATH
    变量通常不是一个好主意,因为它会被拉入java的所有操作中,这可能会导致意外冲突。

    我总是在用户目录中的Unx系统上安装所有与java相关的内容,我这样做不需要root权限(您不能在Windows上执行此操作:在Windows上,您必须拥有安装Java的管理员权限)。因此,对我来说,*“Java软件包位于用户目录中的某个位置”:)我尝试按照您的说明操作,我发现
    -g
    是一个无效选项。
       /src
           /org/json/ ... put the json files here
           ... put your files here