linux系统上的java包在哪里?包org.json不存在使用javac时出错
我试图用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
package org.json不存在
。我的程序包括org.json.JSONArray
和org.json.JSONException
我在我的计算机上安装了这个软件包,因为我已经成功编译了导入org.json
库的android应用程序。我很确定我所要做的就是指定一个-classpath
,但我一直无法找到这些文件在我的系统上的位置(ubuntu 10.10 64位sun-java6)
在我自己的系统上找不到这些文件后,我从下载了org.json
文件,但我无法单独编译它们,因为它们相互依赖
所以我有几个问题:
无论你喜欢哪里。您需要做的是检查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