[英]Java file layout without IDE (OS: Ubuntu)
我正在编写一些没有 IDE 的 Java 代码,当我在编译后尝试运行代码时遇到了一个小问题。 (我使用的是 Ubuntu 64)
$ javac ClassName.java
$ java ClassName
Could not find or load main class ClassName
我的目录结构如下:
项目名
- - - 包裹名字
---------- 类名.java
---------- 类名.class
我的代码首先写下 packageNmae。 当我删除包语句时,它起作用了。 当包含该语句时发生错误。
package PackageName;
public class myClass {
// .... to be used in the main class
}
public class ClassName {
public static void main(String args[]) {
// ....
}
}
谁能告诉我是什么问题。
主要问题是您试图从哪里运行命令。 您不是从包目录内部运行它,而是从包树的根目录(在您的示例中为 Projectname 目录)。
从那里,你应该做:
javac 包名.className
它告诉它在包“PackageName”[sic] 内编译“className”[sic]。 您这样做的方式是告诉它编译一个不属于包的类(强烈建议不要这样做)。
笔记:
您可以在类中定义内部类,但那将是在类的代码块中。
包包名;
公共类 ClassName { 公共类 InnerClass { ... }
public static void main(String args[]) { ... } }
文件名和类名必须相同。 这包括名称的大小写(小写或大写)。
类名总是以大写开头。
包名应该是驼峰式的。
通常,您不想将已编译的 (.class) 文件与源 (.java) 文件一起保留。 通常的结构至少是:
--> Project --> src --> myPackage --> MyClass.java --> bin --> myPackage --> MyClass.class
所以你只需要复制你的 .class 文件来分发可执行文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.