VSCode搭建Java開發運行環境

來源:互聯網
上載者:User

標籤:maven配置   htm   port   ppt   開發語言   pac   系統   building   mave   

用了一段時間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

2. Debugger for Java

3. Java Test Runner

4. Maven for 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)先建立個檔案夾做工作區

 

  (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?問題時有發生,再繼續關注一下。

  

 參考文章:

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 配置與使用: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開發運行環境

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.