用了一段时间VSCode,觉得还可以,想用VSCode整合不同的开发语言,于是研究了一下利用VSCode搭建Java环境、开发Java程序。网上这方面的帖子有不少,但每人的经历不同,把自己的经历记下来吧。
先附上官网链接,官网上也对在VSCode中如何使用开发Java程序进行了说明
https://code.visualstudio.com/docs/languages/java
VSCode能开发不同的语言靠的就是众多插件了,先下载开发Java程序用的插件,官网上推荐的插件有四个:
1. Language Support for Java(TM) by Red Hat
对于开发简单的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)先创建个文件夹做工作区
(2)用VSCode打开文件夹,编辑Java代码:JavaTest.java和Peaple.java。
(3)编译完成后,按下F5准备调试,这时在文件夹内会生成.vscode文件夹,里面生成launch.json文件,并自动打开。在launch.json文件中修改配置项mainClass,如下图所示。如果调试不同的程序,mainClass每次都要修改,有点繁琐。
(4)修改完成后,再按下F5进行调试,运行成功。
(5)上面代码是测试时,发现过个问题,比如刚刚的打开VSCode后,马上按F5调试JavaTest.java程序,这是VSCode会报Build failed, do you want to continue?,选择Proceed之后,还会报找不到Peaple类。
但是如果在运行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
我们点开“More Information”看一下,官方给我们的解释是,由于这些文件不属于任何一个项目,VSCode-java无法获得classpath,于是无法报告编译错误,但是还是可以报告语法错误、代码导航等。这个提示每次都会提示,不希望提示的话可以选“Don't Show Again”。如果想避免这个问题,代码的文件夹里要包含pom.xml(maven配置文件)或build.gradle(gradle配置文件)或eclipse的默认设置。
2. 手动创建Java项目
(1) 创建一个空文件夹作工作区,在工作区里再创建src和target文件,作为源和目的的文件夹
(2)官方提供的Language support for java是通过Eclipse ™ JDT Language Server,Buildship来启动一个服务监听并编译源代码,这里我们需要手动创建两个文件来配置该编译服务的相关项:.project和.classpath文件
.procject文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>JavaTest2</name>
<comment>Project testjava created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>
.classpath文件内容
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
<classpathentry kind="output" path="target"/>
</classpath>
第一个.project文件,vscode会识别该项目为eclipse项目,第二个文件.classpath配置了源码目录以及编译输出目录等,对于外部导入的包,也是配置在.classpath文件中的,只要添加一行(或多行)配置:
<classpathentry kind="lib" path="lib的地址"/>
(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.的错误
(5) 接下来编译运行JavaTest2.java,我们看到两个类生成的.class文件都保存在target文件夹下
二、用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
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命令详见:https://www.cnblogs.com/yjmyzz/p/3495762.html#commentform
我们创建一个简单的maven项目,项目名为JavaTest3,包名为test,Maven完了项目框架的创建。
框架结构如下:
JavaTest3
├── pom.xml
└── src
└── main
│ └── java
│ └── test
│ └── App.java
└── test
└── java
└── test
└── AppTest.java
4. 用VSCode打开JavaTest3文件夹,什么都不用做,VSCode会自动把.project、.classpath文件和.setting文件夹及里面的内容建好,甚至也已经生成了.class文件
5. 按F5进行调试,修改launch.json文件里mainClass为“test.App”,运行成功。
另外,不用maven时,Build failed, do you want to continue?问题时有发生,再继续关注一下。
上面方法生成的maven项目,在使用时发现不支持java 1.8,会报Lambda expressions are allowed only at source level 1.8 or above错
要解决上面的问题,要在pom.xml文件的<properties>标签中添加两个属性:
然后右键点击pom.xml文件,选“Upate project configuration”,就可以了。
参考文章:
Java in VS Code:https://code.visualstudio.com/docs/languages/java
Building Java project shows error: "Build failed, do you want to continue?":https://github.com/redhat-developer/vscode-java/issues/495
"Classpath is incomplete" warning:https://github.com/redhat-developer/vscode-java/wiki/%22Classpath-is-incomplete%22-warning
maven学习(上)- 基本入门用法:https://www.cnblogs.com/yjmyzz/p/3495762.html#commentform
Java VScode 手动导入jar:https://www.jianshu.com/p/ed1deb28aab9
VS code + Java 配置与使用:https://blog.csdn.net/antony1776/article/details/80298326
配置vscode调试java代码:https://www.codercto.com/a/12779.html
以下两个链接杀毒软件报有病毒,谨慎打开
http://blog.hotsun168.com/index.php/archives/10/
http://blog.hotsun168.com/index.php/archives/16/
VSCode搭建Java开发运行环境的更多相关文章
-
使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
-
转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
-
使用 Docker 搭建 Java Web 运行环境(转)
原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...
-
Docker搭建Java Web运行环境
1. 前提条件 安装了Docker的64位Linux 操作系统 Linux操作系统镜像 Linux版本的JDK压缩包 Linux版本的Tomcat压缩包 2. 启动容器 容器是在镜像的基础上来运行的, ...
-
linux(ubuntu) 搭建java程序运行环境
一:简介 ubuntu 系统的和linux差不多,我们需要在系统上搭建java程序运行环境,需要安装jdk,mysql这两个软件,tomcat是绿色版,直接通过taz -zxvf tomcat 就可以 ...
-
Docker学习笔记之二,基于Dockerfile搭建JAVA Tomcat运行环境
前言 在第一篇文字中,我们完全人工方式,一个命令一个命令输入,实现一个 java tomcat运行环境,虽然也初见成效,但很累人.如果依靠依靠脚本构建一个Tomcat容器实例,一个命令可以搞定,何乐而 ...
-
基于Dockerfile搭建JAVA Tomcat运行环境
前言 在第一篇文字中,我们完全人工方式,一个命令一个命令输入,实现一个java tomcat运行环境,虽然也初见成效,但很累人.如果依靠依靠脚本构建一个Tomcat容器实例,一个命令可以搞定,何乐而不 ...
-
VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)
源码地址:https://github.com/YANGKANG01/Spring-Boot-Demo 安装扩展 安装如下两个主要扩展即可,这两个扩展已关联java项目开发主要使用的maven.spr ...
-
[转]VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)
源码地址:https://github.com/YANGKANG01/Spring-Boot-Demo 安装扩展 安装如下两个主要扩展即可,这两个扩展已关联java项目开发主要使用的maven.spr ...
随机推荐
-
Beta版总结会议
一,设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的app要解决一个令人头痛但无人具体来实现的这一社会困扰现象.因为学生或者社会人士在参加竞 ...
-
C#.Net下的防抖-Debounce和节流阀-Throttle功能实现
C#下的防抖-Debounce.节流阀-Throttle功能实现 防抖-Debounce 连续的多次调用,只有在调用停止之后的一段时间内不再调用,然后才执行一次处理过程. 节流阀-Throttle 连 ...
-
golang AES/ECB/PKCS5 加密解密 url-safe-base64
因为项目的需要用到golang的一种特殊的加密解密算法AES/ECB/PKCS5,但是算法并没有包含在标准库中,经过多次失败的尝试,终于解码成功,特此分享: /* 描述 : golang AES/EC ...
-
JSP执行过程详解
复习JSP的概念 JSP是Java Server Page的缩写,在传统的HTML页面中加入JSP标签和java的程序片段就构成了JSP. JSP的基本语法:两种注释类型.三个脚本元素.三个元素指令. ...
-
%1 不是有效的 Win32 应用程序
客户环境windows server 2008,iis 6.0. 站点配置与以往并无差别,更新类库后出现“%1 不是有效的 Win32 应用程序”错误,如下图: 系统登录页面可以正常加载,登录过程中出 ...
-
omnibus方式部署gitlab
omnibus方式部署gitlab Posted on 2015 年 1 月 10 日 4233 Views 这几天折腾搭建git服务器,选择了比较流行的gitlab,一开始就直奔一键安装脚本去了 ...
-
HDU4551
简单. /* 简单题 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include< ...
-
JMETER-01
jmter安装 1.Linxu安装: 步骤:下载JMeter包-->解压包-->赋权限-->配置环境变量-->测试服务 1.下载:wget http://mirrors.hus ...
-
Hadoop 3.0 安装
1. 下载Hadoop 3.0 http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.0.0/hadoop-3. ...
-
Java-代理模式的理解
引言 设计模式是语言的表达方式,它能让语言轻便而富有内涵.易读却功能强大.代理模式在Java中十分常见,有为扩展某些类的功能而使用静态代理,也有如Spring实现AOP而使用动态代理,更有RPC实现中 ...