如何从目录编译java程序?

时间:2010-11-11 04:10:25

标签: java compilation

我正在学习java,我想知道如何从其他目录编译java程序。

例如,我的编译器在我的驱动器c:\中,我想从驱动器e:\编译我的java程序

我该怎么做? 我收到这个错误,这是什么意思? alt text

5 个答案:

答案 0 :(得分:2)

当前目录应该是默认的CLASSPATH,但可能不是。试试java -cp . Assignment

答案 1 :(得分:0)

自从我完成java以来​​已经有一段时间了,但似乎编译不是你的问题。由于javac正确返回,因此Assignment.java似乎存在问题。您的Assignment课程是否有主要方法?

答案 2 :(得分:0)

好的方法是设置ur classpath变量。从屏幕截图来看,似乎你使用Windows我建议你右键单击我的电脑和选择属性。转到高级设置,然后单击环境变量选项卡。

然后弹出一个新窗口,其中底部有System Variable。选择new并创建变量 JAVA_HOME =你安装java的路径,例如我的c:\ java

现在,一旦您将此搜索添加到现有变量路径并选择编辑。现在最后添加以下内容:%JAVA_HOME%\ bin 现在你已经完成了你运行Java程序frm ya comp ....上的任何位置。

答案 3 :(得分:0)

您在代码中使用了包...因此在运行时会显示NoClassDefFoundError 你应该创建包含你的包名的文件夹...编译那个java文件...你可以从那个java文件目录的前一个目录运行那个文件......

例如,您的代码是

package test;
class Assignment{
public static void main(String args[]){
System.out.println("Hai");
}
}

它保存在此路径“E:\java\test

编译此文件,您可以从此路径“E:\java

运行此文件

命令运行此文件

java test.Assignment

E:\java> java test.Assignment

答案 4 :(得分:0)

Assignment.java顶部是否有package声明?如果是这样,请将其删除并重新编译以进行快速修复。

要使用Java包,您需要一个与包声明匹配的目录结构。

例如,假设这是你的Assignment.java:

package myjava;

public class Assignment {
    public static void main(String[] args) {
    ....
    ....
}

您运行此命令进行编译:

E:\java>javac -d . Assignment.java

如果一切顺利,你得到myjava \ Assignment.class。 -d .选项表示“将生成的类文件放在当前目录中”。 javac为您创建包层次结构作为目录。

现在您的目录与您的包匹配,这应该有效:

E:\java>java myjava.Assignment