【问题标题】:Compiling Java into application in VSCode on Mac在 Mac 上的 VSCode 中将 Java 编译到应用程序中
【发布时间】:2020-02-13 11:59:48
【问题描述】:

我是 Java 新手,不了解 Java 的编译内容如何与它的虚拟机一起工作,所以请用简单的语言写下你的答案。

我正在使用 VSCode(在 macOS 上)来制作 Java 应用程序。我正在使用Eclipse New Java Project 创建我的项目,它设置了如下文件结构:

TestApp
│
│-- .vscode
│-- bin
╵-- src
  ╵-- app
    ╵-- App.java

现在我可以编译我的简单项目,并在 vscode 中打印:

package app;

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

我现在如何像应用程序一样运行它?我环顾四周,发现了有关创建 .jar 文件的信息,但我不明白这是在做什么。

.jar 是可执行文件吗?当我尝试点击它时,我得到一个错误,在搜索之后,我看到你需要以某种方式添加主类,并且我不断收到很多错误,并且 Stack Overflow 上的许多解决方案都没有任何效果。

简单来说,我如何编译一个Java项目,以便我可以像应用程序一样打开它,而不是每次都在vscode中编译? vscode 中是否有一个选项可以为我制作这个.jar 和东西?

【问题讨论】:

  • 假设您可以运行 javac 命令,类似: javac -cp ./src app.App 应该可以工作。还有一些其他帖子指定了当您必须处理包时如何编译为 jar。
  • @LethalLadders 我可以运行javac 命令,但我应该使用哪个目录? .../TestApp/bin/app?
  • 对于我所说的命令,我相信你应该在 /TestApp 中。 -cp 指定路径的其余部分(在本例中为 src 文件夹)。然后app.App说编译app包中的App类。
  • @LethalLadders 在获得Class names, 'app.App', are only accepted if annotation processing is explicitly requested 之后,我尝试将.java 放在最后,但仍然不起作用(file not found: app.App.java
  • @LethalLadders 另外,javac 不只是产生一个类吗?我已经在bin 中有vscode 生成的App.class

标签: java visual-studio-code jar


【解决方案1】:

用于在终端运行(并指定main方法在哪里):

jar -cvfe Test.jar App ./app
java -cp Test.jar app/App

用于包含入口点(以便您可以单击 .jar 文件来运行它):

jar -cvfe Test.jar app.App ./App
jar cfe Test.jar app.App *

【讨论】:

  • 并在bin目录下运行^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 2014-02-05
  • 2013-02-06
  • 2011-05-19
相关资源
最近更新 更多