我正在学习java,我想知道如何从其他目录编译java程序。
例如,我的编译器在我的驱动器c:\
中,我想从驱动器e:\
编译我的java程序
我该怎么做? 我收到这个错误,这是什么意思?
答案 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