Java包不存在错误
所以根目录下有一个/usr/share/stuff
文件夹
在东西中有一堆java文件,顶部有package org.name
定义package org.name
我正在运行javac test.java
,其中test.java
位于子域中
我将/usr/share/stuff
到我的类路径中。
在test.java
的顶部我添加了import org.name
但我得到一个package does not exist
错误…为什么?
它们是否在正确的子目录中?
如果将/usr/share/stuff
放在类路径上,则使用package org.name
定义的文件应位于/usr/share/stuff/org/name
。
编辑 :如果您还不知道这一点,您应该阅读: http : //download.oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html#Understanding
编辑2 :对不起,我没有意识到你在谈论/usr/share/stuff
的Java源文件。 它们不仅需要位于适当的子目录中,而且还需要编译它们。 .java
文件不需要在类路径上,而是在源路径上。 (生成的.class
文件需要在类路径上。)
如果它们不在正确的目录结构下,你可能会编译它们,但它们应该是,或者它至少会产生警告。 生成的类文件将位于正确的子目录中(如果有,则指定-d
)。
你应该使用类似javac -sourcepath .:/usr/share/stuff test.java
,假设你把/usr/share/stuff
下的.java
文件放在/usr/share/stuff/org/name
(或根据其包装名称适当的任何东西)。
您需要在/usr/share/stuff
拥有org/name
dirs,并将org.name
包源放在此目录中。
我遇到了这个问题,在我的应用程序中尝试使用打包为.jar
的主题时,它在调试应用程序时正在工作,但在构建/导出应用程序时却没有。
我通过解压缩jar
来解决它,并手动将其内容添加到我的构建文件夹中,从而产生以下结果:
project/ │ ├── build │ └── classes │ ├── pt │ │ └── myAppName ... │ └── com │ └── themeName ... ├── src └── lib
我没有错误,我的应用加载了预期的主题。
我通过命令行手动编译时遇到了完全相同的问题,我的解决方案是我没有包含-sourcepath目录,因此所有子目录java文件也将被编译!
右键单击下拉列表Maven >> reimport底部的maven项目
它适用于缺少的依赖性