vscode中运行java_VSCode搭建Java开发运行环境

用了一段时间VSCode,觉得还可以,想用VSCode整合不同的开发语言,于是研究了一下利用VSCode搭建Java环境、开发Java程序。网上这方面的帖子有不少,但每人的经历不同,把自己的经历记下来吧。

先附上官网链接,官网上也对在VSCode中如何使用开发Java程序进行了说明

VSCode能开发不同的语言靠的就是众多插件了,先下载开发Java程序用的插件,官网上推荐的插件有四个:

对于开发简单的Java程序,只需要前两个就可以了,但需要自己再手动构建几个配置文件(.classpath .project等),否则一些像导入、自动补全等有用的功能不能使用,只能检查语法错误。第三个用于支持JUnit单元测试,第四个用于支持Maven创建Java的项目。

安装完插件之后,打开“文件”-“首选项”-“设置”,进行参数设置,配置java和maven的路径,如下所示,配置完成就可以进行Java开发了。

"java.home": "C:\\Program Files\\Java\\jdk1.8.0_172", //配置该项就可以进行java开发了,下面的配置都是支持maven使用的

"maven.executable.path": "C:\\Program Files\\maven-3.5.4\\bin\\mvn","java.configuration.maven.userSettings": "C:\\Program Files\\maven-3.5.4\\conf\\settings.xml","maven.terminal.customEnv": [

{"environmentVariable": "JAVA_HOME","value": "C:\\Program Files\\Java\\jdk1.8.0_172"}

]

先介绍一下VSCode搭建基础的Java运行环境,不使用Maven,再介绍用Maven创建Java项目,并在VSCode中开发。

一、VSCode进行基础的Java程序开发,不使用Maven

若开发的Java程序简单,可以不创建项目,只单独开发几个Java程序;也可以手动创建几个配置文件,构造一个项目

1. 不创建项目,只开发几个Java小程序

(1)先创建个文件夹做工作区

26a78cb3484956ceb5f953a8dc1959c0.png

(2)用VSCode打开文件夹,编辑Java代码:JavaTest.java和Peaple.java。

348813ddc27804279aa699d50612d92a.png

9eb0a0a1e020cf363de4c96e7e461554.png

(3)编译完成后,按下F5准备调试,这时在文件夹内会生成.vscode文件夹,里面生成launch.json文件,并自动打开。在launch.json文件中修改配置项mainClass,如下图所示。如果调试不同的程序,mainClass每次都要修改,有点繁琐。

5012281ec6c07619147986b64637d532.png

(4)修改完成后,再按下F5进行调试,运行成功。

f3d1e2b4bd33bf29d8d486b7ee30585f.png

(5)上面代码是测试时,发现过个问题,比如刚刚的打开VSCode后,马上按F5调试JavaTest.java程序,这是VSCode会报Build failed, do you want to continue?,选择Proceed之后,还会报找不到Peaple类。

26011d1e679d9d63673acb017bd4d8dd.png

261f52f177feb9a4e2ef7d413facd95c.png

但是如果在运行JavaTest.java之前,先点开Peaple.java类,让VSCode有这么一个类,再运行JavaTest.java时,就不会报上述两个问题。

Build failed, do you want to continue?问题有时会经常出现,看歪果仁也遇到类似问题,不知是不是bug。

Building Java project shows error: "Build failed, do you want to continue?":https://github.com/redhat-developer/vscode-java/issues/495

(6)由于上面代码只是单独两个文件,VSCode会在右下角进行如下提示: Classpath is incomplete. Only syntax errors will be reported

d367ad05250a08495714f635380a3029.png

我们点开“More Information”看一下,官方给我们的解释是,由于这些文件不属于任何一个项目,VSCode-java无法获得classpath,于是无法报告编译错误,但是还是可以报告语法错误、代码导航等。这个提示每次都会提示,不希望提示的话可以选“Don‘t Show Again”。如果想避免这个问题,代码的文件夹里要包含pom.xml(maven配置文件)或build.gradle(gradle配置文件)或eclipse的默认设置。

2. 手动创建Java项目

(1) 创建一个空文件夹作工作区,在工作区里再创建src和target文件,作为源和目的的文件夹

04f8e3319fcb97bbce153525fbad190a.png

(2)官方提供的Language support for java是通过Eclipse ? JDT Language Server,Buildship来启动一个服务监听并编译源代码,这里我们需要手动创建两个文件来配置该编译服务的相关项:.project和.classpath文件

.procject文件内容:

JavaTest2

Project testjava created by Buildship.

org.eclipse.jdt.core.javabuilder

org.eclipse.buildship.core.gradleprojectbuilder

org.eclipse.jdt.core.javanature

org.eclipse.buildship.core.gradleprojectnature

.classpath文件内容

第一个.project文件,vscode会识别该项目为eclipse项目,第二个文件.classpath配置了源码目录以及编译输出目录等,对于外部导入的包,也是配置在.classpath文件中的,只要添加一行(或多行)配置:

(3)如果工作区里没有.vscode文件夹和launch.json可以手动创建。不手动创建的话,在调试时也VSCode也会生成一个模板,以供修改。

launch.json文件内容

{

"version": "0.2.0",

"configurations": [

{

"type": "java",

"name": "Debug (Launch)",

"request": "launch",

"cwd": "${workspaceFolder}/target",

"sourcePaths": [

"$(workspaceRoot)/src"

],

"classPaths": [

"",

"$(workspaceRoot)/target"

],

"mainClass": "${fileBasenameNoExtension}",

"args": ""

}

]

}

其中,cwd是配置javac命令运行的根目录,这里应指定编译后的.class文件所在的根目录

sourcePaths配置源码目录,classPaths配置编译后的.class目录,mainClass配置要运行的主类文件

args是运行class文件需要添加的参数,根据需要配置即可

(4) 接下来编译写java代码:JavaTest2.java,Peaple.java,注意这时没有再报 Classpath is incomplete.的错误

de36493179942cfa8a3c69f72fd55667.png

(5) 接下来编译运行JavaTest2.java,我们看到两个类生成的.class文件都保存在target文件夹下

a544701aa83286b70896b96588759f91.png

二、用Maven创建Java项目,并在VSCode中开发

1. 安装Maven之后,进行配置,我安装到了C:\Program Files\maven-3.5.4

系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为C:\Program Files\maven-3.5.4,然后PATH环境变量最后附加上";%MAVEN_HOME%\bin"

配置完成检测一下,在命令控制行里输入 mvn -version,会输出maven版本和jdk版本,前提是要有jdk

2330e88d27b861614115c37283d4d481.png

2. 在VSCode中配置Maven

"maven.executable.path": "C:\\Program Files\\maven-3.5.4\\bin\\mvn","java.configuration.maven.userSettings": "C:\\Program Files\\maven-3.5.4\\conf\\settings.xml","maven.terminal.customEnv": [

{"environmentVariable": "JAVA_HOME","value": "C:\\Program Files\\Java\\jdk1.8.0_172"}

]

3. 创建一个工作区,用命令控制行进入该工作区,用mvn命令创建一个项目框架:mvn archetype:generate

我们创建一个简单的maven项目,项目名为JavaTest3,包名为test,Maven完了项目框架的创建。

5397c9e309128f3e985973da5c2f0cd3.png

框架结构如下:

JavaTest3

├── pom.xml

└── src

└── main

│ └── java

│ └── test

│ └── App.java

└── test

└── java

└── test

└── AppTest.java

4. 用VSCode打开JavaTest3文件夹,什么都不用做,VSCode会自动把.project、.classpath文件和.setting文件夹及里面的内容建好,甚至也已经生成了.class文件

a31d4317fbe2a5627fcd0cd3f6742a87.png

5. 按F5进行调试,修改launch.json文件里mainClass为“test.App”,运行成功。

8a72010dde0ab0fb444d0cf4aab07de1.png

另外,不用maven时,Build failed, do you want to continue?问题时有发生,再继续关注一下。

参考文章:

Building Java project shows error: "Build failed, do you want to continue?":https://github.com/redhat-developer/vscode-java/issues/495

以下两个链接杀毒软件报有病毒,谨慎打开

http://blog.hotsun168.com/index.php/archives/10/

http://blog.hotsun168.com/index.php/archives/16/

原文:https://www.cnblogs.com/zhaoshizi/p/9524421.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值