繁体   English   中英

如何从目录编译java程序?

[英]How to compile a java program from directory?

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

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

我该怎么办? 我收到这个错误,这是什么意思? 替代文字

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

我做了java已经有一段时间了,但似乎编译不是你的问题。 由于javac正确返回,因此Assignment.java似乎存在问题。 你的Assignment类有一个main方法吗?

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

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

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

您在代码中使用了包...所以当您运行时它显示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

在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM