Java 找不到主类hello
我环顾四周,但对其他人有效的解决方案都对我无效 我安装了Java1.8.0 我的路径变量是C:\Program Files\Java\jdk1.8.0\U 05\bin 我尝试运行以下程序hello.java:Java 找不到主类hello,java,Java,我环顾四周,但对其他人有效的解决方案都对我无效 我安装了Java1.8.0 我的路径变量是C:\Program Files\Java\jdk1.8.0\U 05\bin 我尝试运行以下程序hello.java: package hello; public class hello{ public static void main(String[] args){ System.out.println("Hello"); } } 当我运行javac hello.java
package hello;
public class hello{
public static void main(String[] args){
System.out.println("Hello");
}
}
当我运行javac hello.java
但是当我使用javahello
,java-cp时。您好
,或者java-classpath。hello
返回错误“找不到主类hello”
我知道这是一个非常基本的问题,但我真的搞不懂
提前感谢删除我提供的第一行“package hello;”,如果您在当前目录中编译,那么您需要确保编译的类已进入名为hello/
的文件夹
如果有,则可以运行以下操作:
java -cp /path/to/hello hello.hello
上面将
hello/
文件夹添加到类路径中,然后可以使用其完全限定名运行主类。这里定义了包,因此无法直接运行编译后的类,因为JVM无法找到您的类,因此必须在run命令中写入hello目录的路径。
例如:
java-cpc/workspace/hello
我试试你的代码。看看问题出在哪里。如果您将“hello.java”放在一个名为“JavaTrials”的文件夹中,并将其编译为“javac hello.java”,它将编译并生成“hello.class”。此命令不会为包生成名为“hello”的文件夹 编译的代码“hello.class”应该位于名为“hello”的文件夹中,该文件夹是包的名称。然后您必须运行命令“javahello.hello”,而不是从文件夹“hello”中运行,而是从包含该命令的文件夹中运行 更好的方法是在编译代码之前将代码放入名为“hello”的文件夹中。此文件夹表示包。然后使用命令“javachello/hello.java”从“hello”文件夹外部编译它。然后您可以通过“javahello.hello”运行它
作为旁注,在java编码中,传统的类名以大写开头。你最好用“你好”而不是“你好” 您应该使用类的全名,即
hello.hello
。更好的做法是,类的第一个字母应该大写,比如hello
。虽然这是一个选项,但它对学习Java的工作原理没有帮助。另外,使用默认包是一种不好的做法,它起作用了。谢谢不知道我为什么还要加上那句话。一些互联网专家建议我总是包含它。因为这显然是他的第一个java Hello World程序,所以可能可以省略包。处理包和类路径是使用java的固有部分,因此,我认为不保留它是不好的,我只是说,对于某人的绝对第一个Java程序来说,不保留它可能是好的,因为包和类路径可能不会包含在绝对第一个Java程序中。只需查看每一个java Hello World程序示例:,找不到任何包。我并不是说它不重要,但你不可能在第一天就学会所有东西,即使它是使用Java的固有部分。