Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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
使用命令行JAVAC编译Java_Java - Fatal编程技术网

使用命令行JAVAC编译Java

使用命令行JAVAC编译Java,java,Java,我对使用cmd行javac编译有点陌生,我在编译这个简单的基接口类时遇到了麻烦 package com.apress.prospring2.ch03.di; /** * @author janm */ public interface Encyclopedia { Long findLong(String entry); } 有人能告诉我如何在不使用Ant或Maven的情况下解决这个问题吗?谢谢:)试试: javac Bar.java Foo.java 这是考虑到它们在同

我对使用cmd行javac编译有点陌生,我在编译这个简单的基接口类时遇到了麻烦

package com.apress.prospring2.ch03.di;

/**
 * @author janm
 */
public interface Encyclopedia {

    Long findLong(String entry);

}

有人能告诉我如何在不使用Ant或Maven的情况下解决这个问题吗?谢谢:)

试试:

javac Bar.java Foo.java

这是考虑到它们在同一个包中

我怀疑您试图从
com/apress/prospring2/ch03/di
目录内部编译
HardcodedEncyclopedia.java
。即使
Encyclopedia.java
在同一个目录中,javac也需要知道如何找到它所期望的
om.apress.prospring2.ch03.di
包。您可以这样指定类路径:

javac -cp ../../../../.. HardcodedEncyclopedia.java
cd ../../../../..
javac com/apress/prospring2/ch03/di/HardcodedEncyclopedia.java
或者,您可以转到根目录,将类路径表示为当前目录,如下所示:

javac -cp ../../../../.. HardcodedEncyclopedia.java
cd ../../../../..
javac com/apress/prospring2/ch03/di/HardcodedEncyclopedia.java

您需要从包的顶层编译类,因此在本例中,您需要位于“com”所在的目录中

然后您可以进行编译:

javac -cp . com/apress/prospring2/ch03/di/*.java