我正在使用RHEL。我只是运行以下程序在我的控制台中打印一行,
package test;
public class test
{
public static void main(String a[])
{
System.out.println("hi");
}
}
我使用
编译了它 javac test.java
我试图跑,
java test.test
它说,
could not load or find main class
我在我的类文件所在的目录中。
ls
在目录上显示,
test.java test.class
原因可能是什么?
java test
说,
Exception in thread "main" java.lang.NoClassDefFoundError: test (wrong name: test/test)
答案 0 :(得分:2)
java
将类名(包括包)作为参数,而不是文件名。
此外,班级test.test
必须存储在当前目录的test/test.class
中的test.class
- 而不是中。
您应该在名为test.class
的文件夹中包含test
;转到外部文件夹(包含test
的那个)并运行:
java test.test
答案 1 :(得分:1)
.java
个文件应存储在test
目录(test/test.java
)javac test.java
,请确保在执行cd ..
之前将目录更改为父目录(java test.test
),因为Java将在test.class
中查找test
{{1}}目录(或包)详细了解Lesson: Packages了解更多详情。
您可能希望阅读Code Conventions for the Java TM Programming Language,这样可以让人们更轻松地阅读您的代码并让您阅读其他代码
答案 2 :(得分:0)
以下是我为简单的java程序所做的事情:
否package xxx;
行
确保主要类的名称为Test
- 首字母大写