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

2024-04-13

我正在尝试创建一个 Maven 项目,以便我可以在根文件夹中编译 Java 文件,并在另一个文件夹中输出类文件。

我已经下载了maven。

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

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

有什么帮助吗?


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

  1. 下载 VS 代码 https://code.visualstudio.com/download and 阿帕奇Maven https://maven.apache.org/download.cgi并安装两者。
  2. 安装适用于 Java 的 Visual Studio 扩展包 - 例如将此 URL 粘贴到 Web 浏览器中:vscode:extension/vscjava.vscode-java-pack然后在 VS Code 中打开后单击绿色的“安装”按钮。
  3. 注意:请参阅 ADTC 的评论,了解“步骤 3 的更简单 GUI 版本...(跳过步骤 4)”。如有必要,Maven 快速启动原型可用于在适当的本地文件夹中生成新的 Maven 项目:mvn archetype:generate -DgroupId=com.公司名称.应用程序名称 -DartifactId=appname -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false。这将创建一个appname带有 Maven 的文件夹标准目录布局 https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html (i.e. src/main/java/com/companyname/appname and src/main/test/com/companyname/appname首先是一个示例“Hello World!” Java 文件名为appname.java以及名为的关联单元测试appnameTest.java).*
  4. 通过“文件”菜单 ->“打开文件夹...”在 VS Code 中打开 Maven 项目文件夹,然后选择appname folder.
  5. 打开命令面板(通过“视图”菜单或右键单击)并输入并选择Tasks: Configure task然后选择Create tasks.json from template.
  6. 选择 maven(“执行常见 Maven 命令”)。这将创建一个包含“验证”和“测试”任务的tasks.json 文件。可以根据其他添加更多Maven 构建生命周期 https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html阶段。为了专门满足您对不使用 JAR 文件构建类的要求,需要添加“编译”任务,如下所示:
    {
        "label": "compile",
        "type": "shell",
        "command": "mvn -B compile",
        "group": "build"
    },
  1. 保存上述更改,然后打开命令面板并选择“任务:运行构建任务”,然后选择“编译”,然后“继续而不扫描任务输出”。这会调用 Maven,它会创建一个target与该文件夹处于同一级别src文件夹中包含已编译的类文件target\classes folder.

附录:如何运行/调试类

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

  1. Show the Debug view if it is not already shown (via View menu - Debug or CtrlShiftD).
  2. 单击“调试”视图中的绿色箭头并选择“Java”。
  3. 假设尚未创建,则会显示一条消息“启动调试器需要 launch.json。您想立即创建它吗?”将出现 - 选择“是”,然后再次选择“Java”。
  4. 输入主类的完全限定名称(例如com.公司名称.应用程序名称.App)在“mainClass”的值中并保存文件。
  5. 再次单击“调试”视图中的绿色箭头。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建在 Visual Studio Code 中运行的 Java/Maven 项目? 的相关文章

  • Spring MVC - 自动查找验证器

    假设我有一个像这样的示例实体类 public class Address 和相应的验证器 Component public AddressValidator implements Validator Override public bool
  • Java 7u51/7u55 带星号的清单变量

    我正在部署一个小程序 其中包含清单中的下一个变量 Manifest Version 2 0 Ant Version Apache Ant 1 8 2 Trusted Library true Permissions all permissi
  • Mediaplayer 播放几次后停止播放

    我有一个按钮 按下它会播放一个随机声音剪辑 然后播放另一个声音剪辑 然后通过一个媒体播放器播放另一个声音剪辑 但是多次按下该按钮 15 20 次 后 所有音频都会停止 我在播放最后一个音频剪辑后释放媒体播放器 所以我不认为这是原因 有什么指
  • java中%%是什么意思?

    我是一名 PHP 程序员 想知道这行代码的含义 System out printf exp 3f is 3f n x Math exp x 3f 3f n 和逗号 x 是什么意思 它与C类似printf http java sun com
  • Java:等于和==

    让我们看看我们有 2 个对用户定义类实例的引用 即 Java 中的 a 和 b 会不会有一种情况 a b 但 a equals b 返回 false 当然 实施 equals 完全取决于班级 所以我可以写 class Foo public
  • Java:将二维字符串数组打印为右对齐表格

    是什么best打印a的单元格的方法String 数组作为右对齐表 例如 输入 x xxx yyy y zz zz 应该产生输出 x xxx yyy y zz zz 这似乎是一个should能够完成使用java util Formatter
  • 如何对 jar 文件资源使用 File.separator?

    我正在尝试读取位于 jar 文件中的属性文件 我想使用 File separator 因为应用程序将在多个平台上运行 我正在构建路径如下 jarFilePath jar file jarFile getAbsolutePath jarPro
  • grails 中的 log4j:如何登录文件?

    我的 grails config groovy 中有这个 log4j 配置 log4j error org codehaus groovy grails web servlet controllers org codehaus groovy
  • Maven Artifact Resolver 在我的机器上的 Maven Central 上看不到最新插件

    我在 Windows 10 上使用 Maven 3 9 1 我还使用 Eclipse EE 2023 03 其中包含 m2e Eclipse 对 Maven 的支持 我正在使用 POM 检查插件版本更新版本 Maven 插件 https w
  • 有没有办法在 VSCode 中保存时运行 go 测试,并将其输出到终端?

    现在我有几个项目在VSCode中运行 运行起来相当繁琐go test每次我编写新代码时 我宁愿立即看看我是否破坏了某些东西 我知道在 Javascript 中我可以在每次保存文件时运行测试 并将输出发送到终端 现在我正在使用 保存时运行 h
  • SwingUtilities.invokeLater

    我的问题与SwingUtilities invokeLater 我应该什么时候使用它 每次需要更新 GUI 组件时都必须使用吗 它到底有什么作用 是否有替代方案 因为它听起来不直观并且添加了看似不必要的代码 Do I have to use
  • 有没有办法删除 JShell 中的导入?

    我正在发现 JShell 并且发现默认添加的导入 jshell gt imports import java io import java math import java net import java nio file import j
  • 运行 Espresso 测试时在 Android studio 中找不到属性 android:forceQueryable

    我已经使用 android studio 录制了我的 Android 应用程序 Espresso 测试记录浓缩咖啡测试选项中Run菜单 在记录的最后 我用自己的文件名保存了测试 单击保存按钮后 IDE 会自动在以下位置创建文件Android
  • 使用 Retrofit 获取原始 HTTP 响应

    我想从我的 API REST 获取原始 http 响应 我尝试过这个界面 POST login FormUrlEncoded Call
  • Java 执行器和长寿命线程

    我继承了一些使用 Executors newFixedThreadPool 4 的代码运行 4 个长寿命线程来完成应用程序的所有工作 这是推荐的吗 我读过Java 并发实践 https rads stackoverflow com amzn
  • 为什么 OOP 中静态类的最佳实践有所不同?

    我目前正在阅读有关 Java 最佳实践的内容 我发现根据这本书 https rads stackoverflow com amzn click com 0321356683我们必须优先选择静态类而不是非静态类 我记得在 C 最佳实践中 我们
  • 如果 @transactional 在类级别应用,如何拦截 @transactional 参数

    我想捕获 transactional 的参数 如果它应用于类级别 例如如果 transactional应用在方法级别 例如 class A transactional readOnly true public void someMethod
  • 如何在 tomcat 上部署 Java Web 应用程序 (.war)?

    我有一个 warJava Web 应用程序的文件 现在我想将它上传到我的 ftp 服务器 以便我可以执行它 我应该执行哪些步骤来运行它 webapp的上下文路径是 mywebapp Edit 实际上 我的 ftp 服务器名称是ftp bil
  • Selenium Webdriver - 单击多个下拉菜单时出现陈旧元素异常,而 HTML DOM 不会更改

    我尝试自动化一个场景 其中条件是我必须从下拉列表中选择一个选项 然后它旁边有另一个下拉列表 我必须单击下一个下拉列表中的一个选项才能启用按钮 我尝试使用代码 但它仅单击第一个选项 并显示错误为过时的元素引用 元素未附加到页面文档 请帮忙 如
  • RetentionPolicy CLASS 与 RUNTIME

    两者之间有什么实际区别RetentionPolicy CLASS and RetentionPolicy RUNTIME 看起来两者都被记录到字节码中 并且无论如何都可以在运行时访问 无论如何 两者都可以在运行时访问 那不是那个javado

随机推荐