百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

vscode搭建java环境 vscode java环境配置

bigegpt 2024-10-23 08:46 2 浏览

https://code.visualstudio.com/docs/java/java-tutorial

https://blog.csdn.net/weixin_49666086/article/details/126050952

https://zhuanlan.zhihu.com/p/586056834

配置好环境变量JAVA_HOME

打开vscode,安装java相关插件

当然,还有更多的Java插件,开发者可以根据自己的需求和偏好,在「Marketplace」中自行下载和配置。

官方链接:https://marketplace.visualstudio.com/vscode

===============================安装==================================================

A. 安装Java Extension Pack这个集成了一下插件:(必须)

Language Support for Java? by Red Hat

Debugger for Java

Java Test Runner

Maven for Java

IntelliCode

Java Dependency Viewer

B. 其他插件

Deploy插件(必须) Deploy插件配置在后面

Community Server Connectors 插件

Lombok Annotations Support for VS Code. (简化POJO)

============================配置================================


// Java相关配置信息
"java.configuration.runtimes": [
{
  "name": "JavaSE-19",
  "path": "/usr/local/java",
  "default": true
}
],
"java.jdt.ls.java.home": "/usr/local/java",
//maven、gradle的配置文件变更后自动更新
"java.configuration.updateBuildConfiguration": "automatic",
//java源文件路径
"java.project.sourcePaths": [
    "src/main/java",
    "src/test/java",
],
//关闭自动编译
"java.autobuild.enabled": false,
//关闭debug前强制编译
"java.debug.settings.forceBuildBeforeLaunch": false,
//在项目根目录下生成.classpath等配置文件
"java.import.generatesMetadataFilesAtProjectRoot": true,

Maven的相关配置信息

// Maven的相关配置信息
  "java.configuration.maven.globalSettings": "/usr/local/maven/apache-maven-3.8.6/conf/settings.xml",
  "java.maven.downloadSources": true,
  "java.configuration.maven.userSettings": "/usr/local/maven/apache-maven-3.8.6/conf/settings.xml",
  "maven.executable.path": "/usr/local/maven/apache-maven-3.8.6/bin/mvn",
  "maven.settingsFile": "/usr/local/maven/apache-maven-3.8.6/conf/settings.xml",
  "maven.executable.options": "-DarchetypeCatalog=internal",
  "search.exclude": {
    "**/node_modules": true,
    "**/bower_components": true,
    "**/target": true,
    "**/logs": true
  },
  "maven.terminal.customEnv": [
     {
        "environmentVariable": "JAVA_HOME",      
        //<!--jdk安装根目录-->
        "value": "/usr/local/java"
     }
],

Deploy插件配置信息

//使用Deploy插件来进行热部署时所需要的配置信息
"deploy": {
    "packages": [
        {
            "name": "前端",
            "description": "webapp里面的所有文件",
            "files": [
                "src/main/webapp/*",
                "src/main/webapp/*/*",
                "src/main/webapp/*.*",
                "src/main/webapp/*/*.*",
                "src/main/webapp/*/*/*.*",
                "src/main/webapp/*/*/*/*.*",
                "src/main/webapp/*/*/*/*/*.*",
                "src/main/webapp/*/*/*/*/*",
                "src/main/webapp/*/*/*/*/*/*.*",
            ],
            "exclude": [
                "src/main/webapp/test/*"
            ],
            "deployOnSave": true,
            "useTargetList": true,
            "button": {
                "text": "热部署",
                "tooltip": "点击这里将前端部署到hotsite",
                "targets": [ "HOTSITE" ]
            },
        }
    ],
    "targets": [
        {
            "type": "local",
            "name": "HOTSITE",
            "description": "A local folder",
            "dir": "target/demo/",
            "mappings": [
                {
                    "source": "src/main/webapp",
                    "isRegEx": false,
                    "target": "/"
                }
            ]
        }
    ]
},

C. 创建maven项目

点击创建Java项目,选择其中的Maven工具,由于是创建的JavaWeb项目,所以直接选择webapp即可。

接下来版本选默认第一个的1.4即可,然后输入自定义groupId和artifactId。确定之后会选择项目的存放路径,然后Maven就开始构建项目了。


如果看不到这个按钮可以 ctrl+ship+p





注意到此需要按一下回车来继续,并不是构建卡死了


之后还有一个确认,输入y或者回车都可以来继续

最后出现BuildSuccess即表示项目构建成功,点击右下方的open即可打开工程



4.配置该项目的settings.json

项目打开后,先对该项目的settings.json文件进行配置,这个属于该项目私人的配置文件,不同于上面全局的settings.json,它存在于本项目的.vscode文件夹中,一开始是看不见的。还是shift+ctrl+p快捷键打开搜索,输入settings.json,打开工作区设置的那个。

向其中添加配置信息,我的配置如下所示,多多少少与全局的settings.json中的配置有点重复冗余,如果觉得碍眼可以将重复配置的信息删除掉。

补全项目结构代码与依赖导入

打开项目之后,文件目录并不完整,缺失了很多,maven的老毛病了,自己手动补全文件夹,工程目录如下

主要在main下创建 java resources两个目录


然后将需要迁移的项目代码进行填充进去,后端Java代码放入到java文件夹中,前端页面代码放到webapp文件夹中,注意web.xml别忘了替换掉。

导入代码后会发现Java代码爆红了,是因为没有导入依赖所致,下面进行依赖导入。

由于是Maven项目,所以直接使用自带的pom.xml进行导入了,对于中央仓库上有的依赖包,

直接点击Maven上的+号进行搜索添加对应的依赖即可。或者直接拷贝依赖的gav坐标到pom中也可以。


如果需要导入本地的第三方jar包,就只能一个个手动导入了,全部添加到pom.xml中去。下面做一个依赖的结构示范。就是这样的格式一个个的导入即可。

对了,还需要配置maven编译class文件的路径信息,也是在pom.xml中配置,在build标签下新增这几行

<sourceDirectory>src/main/java</sourceDirectory>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
    <outputDirectory>${basedir}/target/DEMO/WEB-INF/classes</outputDirectory>

在 pom.xml 中plugins下的添加以下代码

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <configuration>
    <webResources>
      <resource>
        <directory>${project.basedir}/lib</directory>
        <targetPath>WEB-INF/lib</targetPath>
        <includes>
          <include>**/*.jar</include>
        </includes>
      </resource>
    </webResources>
  </configuration>
</plugin>

编译项目

下面开始编译项目,包括前端文件与后端文件

点击Maven选项卡中的compile来将后端文件编译成class文件,保存到target下的指定文件夹中去了


在工具的最底端,有一个热部署的按钮,只需要第一次的时候点击就可以了,以后更改项目文件的时候直接ctrl+s保存就会进行热部署,就不再需要按了。

点击之后,会扫描之前settings.json中配置的文件路径,将其中的文件进行拷贝到target下的项目文件中,每次ctrl+s都会触发更新操作的。



然后查看项目的target下的对应项目文件夹,后端文件被编译到了WEB-INF文件夹下面了。如下所示。



--------------------------使用 tomcat 调试 web 项目---------------------------------------------------

安装 Community Server Connectors 插件 后点击侧边栏 TOMCAT SERVERS 右边 + 号,选择本地安装的 tomcat


Community Server Connectors配置

//Community Server Connectors配置
"redhat.telemetry.enabled": true,
"rsp-ui.enableStartServerOnActivation": [
{
  "id": "redhat.vscode-community-server-connector",
  "name": "Community Server Connector",
  "startOnActivation": true
}
],

OK,整体的工程已经部署完毕了,下面要将工程部署到Tomcat服务器上去了。

安装Community Server Connectors插件之后会在控制栏多了一个SERVERS的选项卡,打开并添加服务器。

点击创建新的Server



然后会询问你是否下载服务器,如果本机没有Tomcat的话就点击yes,然后选择对应版本下载就好了。

由于我的机子上有Tomcat,直接点击No,user server on disk了。

然后这边会让你选择你本地的Tomcat安装路径,选择到该路径就可以了。



然后会出现Tomcat的配置项,有需要可以改个名字啥的,然后无脑Finish即可。



后下面就会出现一个Tomcat了,下面进行项目部署。



打包项目

  • ctrl+shift+P,输入maven,点击执行命令,选择package

添加项目到Tomcat服务器中

  1. 右键点击Tomcat 9.x(started)(unknown),选择Add Deployment添加部署,选择target\demo.war
  2. 选择No(不修改参数)
  3. 右键点击Tomcat 9.x(started)(unknown),选择Publish Server(Full)

然后就会发现对应Tomcat下面多了个项目,这就是咱部署的项目。

接下来先启动Tomcat,然后点击Publish Server(Full)进行项目发布



接下里就可以访问项目了,可以自己手动输入localhost:8080/项目地址,还有一种简单的办法。点击Server Actions选项卡



==============================================================

tomcat配置 /usr/local/tomcat/conf/server.xml在Engine元素中增加如下配置

<!-- 第二个同端口虚拟机  -->
<Host name="localhost.tomcat-study.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="study_access_log" suffix=".txt"  pattern="%h %l %u %t "%r" %s %b" />
    <Context path="" docBase="Study.war" reloadable="true" deubg="0" />
</Host>

注意都是用的war包

vscode




修改域名

{
  "args.override.boolean": "false",
  "args.program.override.string": "start",
  "args.vm.override.string": "-Djava.util.logging.config.file=/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dcatalina.base= -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/temp",
  "id": "Tomcat 9.x",
  "id-set": "true",
  "org.jboss.tools.rsp.server.typeId": "org.jboss.ide.eclipse.as.server.tomcat.90",
  "server.base.dir": "/usr/local/tomcat",
  "server.deploy.dir": "${server.base.dir}/webapps/",
  "server.home.dir": "/usr/local/tomcat",
  "server.http.host": "localhost.tomcat-study.com",//修改这里
  "server.http.port": "8080",
  "deployables": {
    "/home/liwu/project/java/Study/target/Study.war": {
      "label": "/home/liwu/project/java/Study/target/Study.war",
      "path": "/home/liwu/project/java/Study/target/Study.war",
      "options": {}
    }
  }
}


配置完毕后: 操作步骤 按照如下顺序执行


以下解决Maven项目导入Vs Code 后在资源管理器不能加载出Maven标签项的问题。问题如下:

解决方案如下:

在资源管理器项目标签项下方的空白处右键:


选择“从Maven原型创建新项目”后,就会马上在资源管理器下发加载出MAVEN标签项,

按ESC键取消命令行的输入选择,点击MAVEN标签项,maven项目就会加载出来了。就可以像Intellij idea的Maven项目一样进行管理了

相关推荐

Docker篇(二):Docker实战,命令解析

大家好,我是杰哥上周我们通过几个问题,让大家对于Docker有了一个全局的认识。然而,说跟练往往是两个概念。从学习的角度来说,理论知识的学习,往往只是第一步,只有经过实战,才能真正掌握一门技术所以,本...

docker学习笔记——安装和基本操作

今天学习了docker的基本知识,记录一下docker的安装步骤和基本命令(以CentOS7.x为例)一、安装docker的步骤:1.yuminstall-yyum-utils2.yum-con...

不可错过的Docker完整笔记(dockerhib)

简介一、Docker简介Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,...

扔掉运营商的 IPTV 机顶盒,全屋全设备畅看 IPTV!

其实现在看电视节目的需求确实大大降低了,折腾也只是为了单纯的让它实现,享受这个过程带来的快乐而已,哈哈!预期构想家里所有设备直接接入网络随时接收并播放IPTV直播(电信点播的节目不是太多,但好在非常稳...

第五节 Docker 入门实践:从 Hello World 到容器操作

一、Docker容器基础运行(一)单次命令执行通过dockerrun命令可以直接在容器中执行指定命令,这是体验Docker最快捷的方式:#在ubuntu:15.10容器中执行ech...

替代Docker build的Buildah简单介绍

Buildah是用于通过较低级别的coreutils接口构建OCI兼容镜像的工具。与Podman相似,Buildah不依赖于Docker或CRI-O之类的守护程序,并且不需要root特权。Builda...

Docker 命令大全(docker命令大全记录表)

容器生命周期管理run-创建并启动一个新的容器。start/stop/restart-这些命令主要用于启动、停止和重启容器。kill-立即终止一个或多个正在运行的容器rm-于删除一个或...

docker常用指令及安装rabbitMQ(docker安装rabbitmq配置环境)

一、docker常用指令启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestart...

使用Docker快速部署Storm环境(docker部署confluence)

Storm的部署虽然不是特别麻烦,但是在生产环境中,为了提高部署效率,方便管理维护,使用Docker来统一管理部署是一个不错的选择。下面是我开源的一个新的项目,一个配置好了storm与mono环境的D...

Docker Desktop安装使用指南:零基础教程

在之前的文章中,我多次提到使用Docker来安装各类软件,尤其是开源软件应用。鉴于不少读者对此有需求,我决定专门制作一期关于Docker安装与使用的详细教程。我主要以Macbook(Mac平台)为例进...

Linux如何成功地离线安装docker(linux离线安装httpd)

系统环境:Redhat7.2和Centos7.4实测成功近期因项目需要用docker,所以记录一些相关知识,由于生产环境是不能直接连接互联网,尝试在linux中离线安装docker。步骤1.下载...

Docker 类面试题(常见问题)(docker面试题目)

Docker常见问题汇总镜像相关1、如何批量清理临时镜像文件?可以使用sudodockerrmi$(sudodockerimages-q-fdanging=true)命令2、如何查看...

面试官:你知道Dubbo怎么优雅上下线的吗?你:优雅上下线是啥?

最近无论是校招还是社招,都进行的如火如荼,我也承担了很多的面试工作,在一次面试过程中,和候选人聊了一些关于Dubbo的知识。Dubbo是一个比较著名的RPC框架,很多人对于他的一些网络通信、通信协议、...

【Docker 新手入门指南】第五章:Hello Word

适合人群:完全零基础新手|学习目标:30分钟掌握Docker核心操作一、准备工作:先确认是否安装成功打开终端(Windows用户用PowerShell或GitBash),输入:docker--...

松勤软件测试:详解Docker,如何用portainer管理Docker容器

镜像管理搜索镜像dockersearch镜像名称拉取镜像dockerpullname[:tag]列出镜像dockerimages删除镜像dockerrmiimage名称或id删除...