繁体   English   中英

没有 IDE 的 Java 文件布局(操作系统:Ubuntu)

[英]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.

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