在Mac上用VSCode将Java编译成应用程序

在Mac上用VSCode将Java编译成应用程序,java,visual-studio-code,jar,Java,Visual Studio Code,Jar,我不熟悉Java,也不熟悉Java的编译工具如何与虚拟机一起工作,所以请用简单的术语写下您的答案 我正在使用VSCode(在macOS上)制作一个Java应用程序。我正在使用Eclipse New Java Project创建我的项目,它设置了如下文件结构: TestApp │ │-- .vscode │-- bin ╵-- src ╵-- app ╵-- App.java 现在我可以编译我的简单项目,并在vscode中打印: package app; public class

我不熟悉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
是可执行文件吗?当我试着点击它时,我得到了一个错误,在搜索之后,我发现你需要以某种方式添加主类,我不断地得到很多错误,从堆栈溢出的许多解决方案中没有任何效果


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

用于在终端中运行(并指定主要方法的位置):

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


假设您可以运行javac命令,类似于:javac-cp./src-app.app的东西应该可以工作。还有其他一些帖子指定了在处理包时如何编译到jar。@LethalLadders我可以运行
javac
命令,但我应该使用哪个目录
../TestApp/bin/app
?对于我所说的命令,您应该在/TestApp中,我相信。-cp指定路径的其余部分(在本例中为src文件夹)。然后app.app说在app包中编译app类。@LethalLadders在获得
类名后,“app.app”只有在明确请求注释处理时才被接受
我尝试将
.java
放在末尾,但仍然不起作用(
找不到文件:app.app.java
)@LethalLadders,
javac
不只是生成一个类吗?我已经在
bin
目录中有vscode生成的
App.class
,并在
bin
目录中运行^
jar -cvfe Test.jar App ./app
java -cp Test.jar app/App
jar -cvfe Test.jar app.App ./App
jar cfe Test.jar app.App *