繁体   English   中英

从命令行编译和运行 Java

[英]Compiling and running Java from the command line

我创建了以下项目结构。

[~/Projects/CountWords]@Ubuntu1804  #> find .
.
./bin
./src
./src/main
./src/main/java
./src/main/java/App.java

这是 App.java 的内容:

package src.main.java;


public class App {
    public static void main(String[] args){
        System.out.println("Hola");
    }
}

我将我的应用程序编译为:

javac -d bin/ -cp src/main/java/ src/main/java/*

哪个工作正常。 我使用星号是因为该文件夹中有更多类,但我现在只有一个。 这将创建以下结构:

[~/Projects/CountWords]@Ubuntu1804  #> find .
.
./bin
./bin/src
./bin/src/main
./bin/src/main/java
./bin/src/main/java/App.class
./src
./src/main
./src/main/java
./src/main/java/App.java

但我的问题是当我尝试运行该应用程序时。 我认为这会起作用:

java src.main.java.App

但这失败了:

Error: Could not find or load main class src.main.java.App
Caused by: java.lang.ClassNotFoundException: src.main.java.App

我究竟做错了什么?

我知道这一定是一个非常愚蠢的问题,但我想手动编写一个中小型项目,只是为了了解 IDE 自己做了什么。 在使用 Eclipse 使用 Java 工作一段时间后,我注意到我不知道如何手动完成,我想改变它。

您必须为java定义类路径。 有两种可能:

java -cp ./bin src.main.java.App

或切换到 bin 目录,然后在没有 cp 的情况下运行

cd bin 
java src.main.java.App

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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