如何创建在 Visual Studio Code 中工作的 Java / Maven 项目?

Posted

技术标签:

【中文标题】如何创建在 Visual Studio Code 中工作的 Java / Maven 项目?【英文标题】:How to create a Java / Maven project that works in Visual Studio Code? 【发布时间】:2018-03-22 03:07:59 【问题描述】:

我正在尝试创建一个 maven 项目 - 这样我就可以在根文件夹中编译 Java 文件并将类文件输出到另一个文件夹中。

我已经下载了 mvn。

我正在尝试与 VS Code 集成。我的目标是在 VS Code 中编辑 java 文件,并在保存编译器时将 .class 文件保存在相应的输出文件夹中。

仅此而已 - 没有战争或 jar 文件。

有什么帮助吗?

【问题讨论】:

你安装了Java extension pack吗? Your editor's documentation 建议使用它来支持 Java。我希望一旦安装了它,您就不必为编译代码而烦恼 maven。 另见marketplace.visualstudio.com/…和blogs.msdn.microsoft.com/visualstudio/2018/01/11/… 【参考方案1】:

这是一个完整的步骤列表 - 您可能不需要步骤 1-3,但为了完整起见,我将它们包括在内:-

    Download VS Code 和 Apache Maven 并安装两者。 安装适用于 Java 的 Visual Studio 扩展包 - 例如将此 URL 粘贴到 Web 浏览器中:vscode:extension/vscjava.vscode-java-pack,然后在 VS Code 中打开后单击绿色的“安装”按钮。 注意:有关“步骤 3 的更简单的 GUI 版本...(跳过步骤 4)”,请参阅 ADTC 的评论。 如有必要,可以使用 Maven 快速启动原型来生成新的 Maven 项目在适当的本地文件夹中:mvn archetype:generate -DgroupId=com.companyname.appname-DartifactId=appname-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false。这将创建一个 appname 文件夹,其中包含 Maven 的 Standard Directory Layout(即 src/main/java/com/companyname/appnamesrc/main/test/com/companyname/appname 开头和一个名为 的示例“Hello World!”Java 文件>appname.java 和名为 appnameTest.java) 的关联单元测试。* 在 VS Code 中通过 File menu -> Open Folder... 打开 Maven 项目文件夹,然后选择 appname 文件夹。 打开命令面板(通过查看菜单或右键单击)并输入并选择Tasks: Configure task,然后选择Create tasks.json from template

    选择 maven(“执行常见的 Maven 命令”)。这将创建一个包含“验证”和“测试”任务的 tasks.json 文件。可以添加更多对应于其他Maven Build Lifecycle 阶段。为了专门满足您对在没有 JAR 文件的情况下构建类的要求,需要添加一个“编译”任务,如下所示:

    
        "label": "compile",
        "type": "shell",
        "command": "mvn -B compile",
        "group": "build"
    ,
    

    保存上述更改,然后打开命令面板并选择“任务:运行构建任务”,然后选择“编译”,然后选择“继续而不扫描任务输出”。这会调用 Maven,它会在与 src 文件夹相同的级别上创建一个 target 文件夹,并在 target\classes 文件夹中包含已编译的类文件。


附录:如何运行/调试类

根据 cmets 中的一个问题,以下是运行/调试的一些步骤:-

    如果尚未显示调试视图,则显示它(通过视图菜单 - 调试或 CtrlShiftD)。 单击“调试”视图中的绿色箭头并选择“Java”。 假设尚未创建,一条消息“需要launch.json 来启动调试器。你想现在创建它吗?”将出现 - 选择“是”,然后再次选择“Java”。 在“mainClass”的值中输入主类的完全限定名(例如com.companyname.appname.App)并保存文件。李> 再次单击“调试”视图中的绿色箭头。

【讨论】:

谢谢 - 我能够让上述工作。两个快速问题 - 看起来需要一个包名称。无论如何要创建一个没有包名称和/或对文件夹结构进行更多控制的文件。另外,如果我在编辑器中有一个 java 文件,如何运行它。 不确定我是否完全理解了您问题的第一部分-您是说您想要一个没有明确指定包名称的类,即在默认包中? Maven 的文件夹结构非常标准——不知道为什么你不想使用它,它超出了我之前尝试过的任何东西的范围,但如果有帮助,这里有更多信息:maven.apache.org/guides/mini/…。回复:你问题的第二部分我已经添加了一些步骤来运行一个应该工作的类,尽管在我的设置中它们没有(可能是防火墙问题)。 同意 - 我个人会坚持使用 Eclipse 或 IntelliJ。目前,用于 Java 的 VS Code 似乎还不够成熟,无法进行严肃的 Java 开发,尽管这可能会改变...... 应该是"label" 而不是"taskName" 步骤 3 的更简单的 GUI 版本: 在要创建项目的空文件夹中打开 VSCode。右键单击资源管理器窗格中的空白区域(在 VSCode 侧边栏中),然后单击“从 Maven Archetype 生成”,然后单击选择目标(在同一个空文件夹上)。选择“maven-archetype-quickstart”。一个终端将打开 VSCode,下载一些更新后,Maven 将提示输入 groupId、artifactId 和 Java 包名称。输入该信息,您就完成了! (跳过第 4 步。)【参考方案2】:

我很惊讶没有人在 Visual Studio 代码中提到这种可能的简单方法。

安装 VS Code 和 Apache maven(正如 @Steve Chambers 所提到的)

安装此扩展后 vscode:extension/vscjava.vscode-java-pack

在 java 概览页面中,有一个选项显示“创建 Maven 项目”,这进一步需要一个简单的向导来生成 Maven 项目。

它的速度非常快,足够直观,即使是新手也可以很好地从 Maven 项目开始。

【讨论】:

【参考方案3】:

这不是一个特别好的答案,因为它解释了如何运行您的 java 代码 n VS Code,不一定是 Maven 项目,但它对我有用,因为我无法自己进行手动配置。我决定改用这种方法,因为它更简单、更快捷。

安装VSCode(对于windows,设置你的环境变量),然后安装vscode:extension/vscjava.vscode-java-pack如上所述,然后安装code runner扩展包,它基本上设置了整个过程(在后台),如中所述上面接受的答案,然后提供一个播放按钮来在您准备好时运行您的 java 代码。

这在video中都有解释。

同样,这不是最好的解决方案,但如果你想切入正题,你可能会发现这个答案很有用。

【讨论】:

【参考方案4】:

另一种方法是安装Maven for Java 插件并在Visual Studio 中创建一个maven 项目。 The steps are described in the official documentation:

    从命令面板 (Crtl+Shift+P) 中,选择 Maven:从 Maven Archetype 生成并按照说明进行操作,或者 右键单击文件夹并选择从 Maven Archetype 生成。

【讨论】:

以上是关于如何创建在 Visual Studio Code 中工作的 Java / Maven 项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建在 Visual Studio Code 中工作的 Java / Maven 项目?

如何使用 Visual Studio Code 创建基本内容以在 localhost 上运行?

如何让 OpenGL 在 Windows 上与 Visual Studio Code 一起工作?

如何在 Visual Studio Code 中为 Python 设置虚拟环境?

如何在ubuntu下项目导入visual studio code下调试

如何在ubuntu下项目导入visual studio code下调试