Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在使用eclipse并出现导入问题后尝试编译_Java_Javac - Fatal编程技术网

Java 在使用eclipse并出现导入问题后尝试编译

Java 在使用eclipse并出现导入问题后尝试编译,java,javac,Java,Javac,嗨 我正在使用ubuntu,我有一个小项目,其中有几个我在eclipse中编写的包。 当我试图从终端编译(运行javac)时,我会遇到许多错误,如: Writeable.java:14: cannot find symbol symbol : class IllegalFilterArgumentException location: class oop.ex1.filters.Writeable throw new IllegalFilterArgumentException

嗨 我正在使用ubuntu,我有一个小项目,其中有几个我在eclipse中编写的包。 当我试图从终端编译(运行javac)时,我会遇到许多错误,如:

Writeable.java:14: cannot find symbol
symbol  : class IllegalFilterArgumentException
location: class oop.ex1.filters.Writeable
        throw new IllegalFilterArgumentException();
现在在eclipse中一切都很好。我被告知这是因为我需要从一个可以看到我项目中所有java文件的目录运行javac,但它不起作用。有什么想法吗?谢谢

如果您正在使用软件包(正如错误消息中所示),则必须在软件包结构中排列源文件,然后从该结构的根调用
javac
。例如:

javac oop/ex1/filters/Writable.java
  • 根目录
    • oop
      • ex1
        • 过滤器
          • Writeable.java
          • IllegalFilterArgumentException.java
那么你可以这样称呼它:

javac oop/ex1/filters/Writable.java
除了“从根目录调用”,您还可以将此根目录作为选项传递给javac:

javac -sourcepath "root directory" oop/ex1/filters/Writable.java

(您可能还想为
javac
提供其他选项,请查看其帮助页面。)

您是如何设置类路径的。没有默认设置,所以至少需要像
-cp这样的东西。
@Peter:根据我的经验,如果没有设置类路径,它默认为当前目录。