附上:03. 安装环境:Windows · IntelliJ IDEA Tutorial

附上:使用调试功能进行 Java debug

附上:Linux(Deepin)下配置java8 - L141210113的专栏 - CSDN博客


大事件:java se 下载都要登录了,所以建议个人开发者使用OpenJDK ,如果没有好好阅读条款,商用领域使用Oracle-JDK是有收律师函的成本的。

OpenJDK官网:https://openjdk.java.net/ (注意GPL2协议)

参考:

Oracle 终于要向 Java 的非付费用户开枪了-怎么看? - jason的回答 - 知乎

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

当然还有很多公司的开源JDK,如亚马逊https://github.com/corretto   ZULU:https://www.azul.com/downloads/zulu/   此外还有微软、阿里等等

可替代JDK介绍: https://yq.aliyun.com/articles/645952


导航:

  1. JAVA环境配置和测试
  2. 使用VSCode编译/调试JAVA
  3. 解决VSCode运行程序中文乱码问题(编码问题)
  4. 解决eclipse导入javax之类的包报错(Java9开始才有的特性)

 

一、JAVA环境配置和测试

JAVA SE官网下载并运行jdk-11.0.1_windows-x64_bin.exe

配置环境变量示例(快捷键 WIN+Pause,笔记本可能要多按个Fn键)

JAVA_HOME     C:\Java JDK

path       %JAVA_HOME%\bin  (如果这里不生效,就改为bin目录的完整路径)

CLASSPATH    .;%JAVA_HOME%\lib;

其他一致
CLASSPATH值
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\bin

附上JDK1.8环境变量

类路径变量 共有两个值,其中点是为当前目录的意思

附上LINUX Debian系操作系统:
dpkg -i 安装包文件名.deb
nano /etc/profile 写在最后:

# Oracle JDK11

export JAVA_HOME="/usr/lib/jvm/jdk-11.0.2"
export CLASSPATH=${JAVA_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin

路径间用分号隔开,$PATH必须要写,不然会破坏系统变量。等号左右不能有空格,不然报错
可以先在终端打export测试(就算打错了也只对当前终端窗口生效),确认无误就执行
之所以不加当前目录作为CLASSPATH,是因为这是linux,全局变量挺危险的。单文件运行用
java -d . 文件名
也不麻烦吧 source /etc/profile
使变量文件在当前终端窗口生效,测试java -version成功的话就可以重启电脑让它永久生效了
至于OpenJdk和OracleJdk冲突看这里:分析并解决Linux(Deepin)的自带OpenJdk和自己安装的OracleJdk新旧版本冲突问题

命令行测试(javac中使用-d,以及javac / java中使用-cp介绍

java -version
javac

HelloWorld.java

/*
*定義一個類文件,然後在螢幕上顯示 "Hello, World!"。
*/
public class HelloWorld {
public static void main( String[] args ) {
System.out.println( "Hello, World!" );
}
}
/* 這個類別文件的結束。 引用自https://zh.wikibooks.org/zh-hans/Java/HelloWorld*/

然后在命令行下的当前目录输入:

javac HelloWorld.java

当然有些程式码内部存在中文字串,会导致编译失败,这时候需要输入包含参数的指令:

javac -encoding utf-8 HelloWorld.java

编译

java HelloWorld

(注意不是java HelloWorld.class,class文件是字节码文件,只是“中介”并不算可执行文件,但这个“中介”必不可少(这就是CLASSPATH里要有当前目录符号“.”的原因),)

屏幕上就会显示

Hello, World!

附上带包运行的方法

带包运行,
定位到包目录所在目录
java 包名.类名 如D:\test\Hello.class
包名test 类名Hello
那么
cd /d D:
java test.Hello

带包运行

需要第三方依赖包的编译/运行命令,请看:

命令行编译带外部包依赖的java源文件 [以JDBC为例]

 javac的参数 -d是用来生成包结构的,可指定编译后class的生成路径:

javac *.java

目录下有:

a.java  a.class  b.java  b.class

javac -d . *.java

目录下有:

a.java  b.java  a目录\a.class  b目录\b.class

不明白可以看这篇:https://zhuanlan.zhihu.com/p/36529847

当然也可以暂时跳过



资料参考:

JDK 11 Documentation

java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别

JavaSE学习总结(一)——Java基础

二、使用VSCode编译/调试JAVA

推荐参考文章:VSCode搭建Java开发运行环境

(上面这链接有 java插件配置文件的修改方法)

如果没什么问题了,可以在VSCode上玩一下:

VSCode打开java源文件所在目录,搜索安装 Java Extension Pack,然后直接F5会生成配置文本,保存后编译java文件即可

如果提示

Warn: Classpath is incomplete. Only syntax errors will be reported.
请看这里,或者这里
“Classpath不完整”警告
Fred Bricon编辑了这个页面 on Nov · 6次修订
每当打开一个java文件时,它不属于项目(我们称之为独立的Java文件),vscode-java无法计算正确的类路径。它使报告编译错误变得毫无用处,因为UI会在整个文件中填充令人分心的红色错误,例如: 幸运的是,vscode-java仍然能够为基本JDK类提供有用的内容辅助,报告语法错误,计算类大纲或允许代码导航。因此,显示以下警告: 如果您只是关闭消息,它将在下次打开独立的Java文件时弹出。通过单击Don’t Show Again选项可以永久丢弃该消息。 如果您改变主意,可以在VS Code的用户设置中修改该选项:该java.errors.incompleteClasspath.severity密钥指定当Java文件的类路径不完整时消息的严重性。支持的值是ignore,info,warning和error。 您需要打开一个包含pom.xml,build.gradle或至少是默认eclipse设置文件的文件夹,以便可以设置完整的类路径和项目层次结构。

官方说明

另外如果不需要debug功能,可以直接使用Code Runner插件。


fen ge xian

三、解决VSCode运行程序中文乱码问题(编码问题)

附上VSCode运行程序中文乱码解决方案(Java示例,C语言同理)

(这里暂时以coderunner为例,实际上应该是可以在java插件里设置的)
在VSCode设置搜索code-runner.executorMap

然后从插件的默认配置复制粘贴到右边的用户配置,并进行修改

添加了以下内容到中间

 "code-runner.runInTerminal": true,
// Set the executor of each language.
"code-runner.executorMap": {
"java": "cd $dir && javac -encoding UTF-8 $fileName && java $fileNameWithoutExt",
"c": "cd $dir && gcc -g -fexec-charset=GBK $fileName -o $fileNameWithoutExt -Wall -static-libgcc && $dir$fileNameWithoutExt"
}

我的用户配置是

 {
"workbench.sideBar.location": "left",
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
"files.autoGuessEncoding": true, //"terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"],
//"terminal.integrated.fontFamily": "Lucida Console", "code-runner.runInTerminal": true,
// Set the executor of each language.
"code-runner.executorMap": {
"java": "cd $dir && javac -encoding UTF-8 $fileName && java $fileNameWithoutExt",
"c": "cd $dir && gcc -g -fexec-charset=GBK $fileName -o $fileNameWithoutExt -Wall -static-libgcc && $dir$fileNameWithoutExt"
}
}

settings.json

然后用code runner插件运行即可,调试的就没办法避免中文乱码了(只能等VSCode官方解决)。

四,解决eclipse导入javax之类的包报错(Java9开始才有的特性)

详情:JDK8过渡到JDK11

例如导入包提示错误:

The import javax.sound cannot be resolved midi.java /Test/src/com/test/demo line 2 Java Problem

这种问题并不是环境变量设置不对,而且JAVA9带来的新特性。

解决方案:只需要两步点击搞定

点击代码行号那里的×,会弹出对话框,然后点两下Add 'requires ' to module-info.java即可

然后就会看一下module-info.java,会发现多了一行requires

注:javax.sound是属于java.desktop的

这是Java9带来的特性,至于为什么,我还在寻找答案中....

附上:Eclipse断点调试(debug)实用技巧——基础篇_百度经验


最后,推荐书籍(看实体书或PDF都行):
1,Head First Java(中文版)
2,Java 核心技术卷一

JAVA SE11环境变量配置(Windows)的更多相关文章

  1. java android 环境变量配置备忘录

    java android 环境变量配置备忘录,全新重装系统要用到,备忘下来; JAVA_HOME D:\Java\jdk1.6.0_07 CLASSPATH  .;%JAVA_HOME%\lib\dt ...

  2. JAVA JDK 环境变量配置 入门详解 - 精简归纳

    JAVA JDK 环境变量配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 13 转载请注明出处!️ 目录 JAVA JDK 环境变量配置 入门详解 - 精简归纳 一.为什么j ...

  3. Windows系统环境变量之path环境变量(Java, Python环境变量配置)

    系统: Windows10 path系统环境变量的作用: Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外 ...

  4. Java&Tomcat环境变量配置

    版本匹配: Java PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们需要把 jdk安装目录下的bin目录增加 ...

  5. java:jdk环境变量配置+tomcat环境变量配置

    一:JDK1.先安装jdk  查看jdk版本:   DOC下输入java -version2.配置环境变量(添加系统变量)  JAVA_HOME      D:\study\jdk-6\jdk-6(j ...

  6. JAVA的环境变量配置(方式二)

    1.想要成功配置Java的环境变量,那肯定就要安装JDK(JDK安装包在方式一中),才能开始配置的. 2.安装JDK 向导进行相关参数设置.如图: 3.正在安装程序的相关功能,如图: 4.选择安装的路 ...

  7. Java之环境变量配置

    1.首先安装Java的JDK(Java开发工具包 包含JRE(Java运行环境))下载地址URL:www.oracle.com (64位或32位) 安装:傻瓜式安装(点击下一步即可)中间可更改安装目录 ...

  8. android开发之java JDK环境变量配置的信息代码 附详细教程。

    java环境变量配置: [用户变量]class_path    .;%JAVA_HOME%\lib\tools;%JAVA_HOME%\jre PATH           ;%JAVA_HOME%\ ...

  9. java电脑环境变量配置

    ANT_HOME    D:\apache-ant-1.9.11CLASSPATH       %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib;%JAVA_HOME%\l ...

随机推荐

  1. POJ-1129 DFS染色+四色原理的应用

    OJ-ID:     POJ-1129 author:    Caution_X date of submission:    20190927 tags:    DFS+四色原理的应用 descri ...

  2. vue 获取视频时长

    参考资料:js获取上传音视频文件的时长 直接通过element-ui自带的上传组件结合js即可,代码如下: HTML: <el-upload class="upload-demo&qu ...

  3. Docker(Linux)学习笔记以及Redis/MariaDB的容器使用后台全自动启动

    1:Docker安装,由于Docker后续pull镜像的服务器默认是在国外的,速度实在是太慢,这里使用阿里云的镜像 阿里云的Docker CE 镜像源站进行安装 docker ===========U ...

  4. C typedef、#define

    参考链接:https://www.runoob.com/cprogramming/c-typedef.html 作用 typedef是用来为数据类型(可以是各种数据类型,包括自己定义的数据类型如结构体 ...

  5. Redis操作篇(二)

    redis的发布与订阅,主从架构,哨兵架构,cluster集群 下载编译安装redis # 1. 下载redis wget http://download.redis.io/releases/redi ...

  6. vue笔记(一)

    Vue的开发 一丶下载 # 中文下载地址: https://cn.vuejs.org/ # 使用方式: # 1. 单独使用 vue.min.js.文件 # 2. 结合node.js使用集成工具 二丶v ...

  7. 尝试在iOS上使用gRPC

    简介 gRPC,google的远程过程调用框架,传输协议使用 HTTP2, 序列化协议使用 protobuf.gRPC 使用 HTTP2 传输协议传输 protobuf 序列化的二进制数据,有极高的效 ...

  8. SAP MM Purchase Order History Category

    SAP MM Purchase Order History Category 1) ,These are different categories of PO history which is con ...

  9. git仓库的安装和基本使用

    一.安装git软件 # yum install git -y 二.初始化git仓库 2.1 在git仓库的机器进行配置 # ifconfig eth0 | awk -F '[ :]+' 'NR==2 ...

  10. JS中的实例方法、静态方法、实例属性、静态属性

    一.静态方法与实例方法的例子: 我们先来看一个例子来看一下JS中的静态方法和实例方法到底是什么? 静态方法: function A(){} A.col='red'  //静态属性 A.sayMeS=f ...