如何用包编译和运行一个javaclass
How to compile and run a java class with a package
我在文件 MyClass.java 文件中有一个名为 MyClass 的 class(下面提到的代码)
package myclass;
class MyClass {
public int add (int a, int b){
return a+b;
}
public static void main(String args[]) {
MyClass obj = new MyClass();
System.out.println(oobj.add(2, 3));
}
}
我正在用
编译 class
javac MyClass.java
但我正在尝试 运行 class 使用
java MyClass
或
java myclass.MyClass
我遇到错误
Error: Could not find or load main class MyClass
但是,如果我省略包名,我可以 运行 这个程序。
我哪里错了?
确保你在包文件夹的父目录中(你编译的class文件所在的文件夹),然后执行以下命令:
java myclass.MyClass
下面是一个示例文件结构:
bin
-> myclass
-> MyClass.class
在上面的示例结构中,您必须从 "bin" 目录执行命令。
此外,将 class 定义为 public
并重新编译 java 源文件。
我运行也喜欢这个。对于使用其他语言的人来说,这是非常令人沮丧的。这里的关键是,java 文件必须位于正确的目录中,具体取决于包声明。
如果 java 文件 Test1.java 以
开头
package com.xyz.tests;
然后 java 文件 Test1.java 需要在目录 com/xyz/tests
中
你可以运行编译为
javac com/xyz/tests/Test1.java
java com/xyz/tests/Test1
祝你好运。
您需要编译 Class 使用:
javac -d ./myclass
我通过
将我的示例提供给 运行
java <package>.<class>
来自包的父目录
我在文件 MyClass.java 文件中有一个名为 MyClass 的 class(下面提到的代码)
package myclass;
class MyClass {
public int add (int a, int b){
return a+b;
}
public static void main(String args[]) {
MyClass obj = new MyClass();
System.out.println(oobj.add(2, 3));
}
}
我正在用
编译 classjavac MyClass.java
但我正在尝试 运行 class 使用
java MyClass
或
java myclass.MyClass
我遇到错误
Error: Could not find or load main class MyClass
但是,如果我省略包名,我可以 运行 这个程序。 我哪里错了?
确保你在包文件夹的父目录中(你编译的class文件所在的文件夹),然后执行以下命令:
java myclass.MyClass
下面是一个示例文件结构:
bin
-> myclass
-> MyClass.class
在上面的示例结构中,您必须从 "bin" 目录执行命令。
此外,将 class 定义为 public
并重新编译 java 源文件。
我运行也喜欢这个。对于使用其他语言的人来说,这是非常令人沮丧的。这里的关键是,java 文件必须位于正确的目录中,具体取决于包声明。
如果 java 文件 Test1.java 以
开头package com.xyz.tests;
然后 java 文件 Test1.java 需要在目录 com/xyz/tests
你可以运行编译为
javac com/xyz/tests/Test1.java
java com/xyz/tests/Test1
祝你好运。
您需要编译 Class 使用:
javac -d ./myclass
我通过
将我的示例提供给 运行java <package>.<class>
来自包的父目录