附上: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. MyBatis-Generator 用法介绍

    ”工欲善其事,必先利其器“,古人说的很对,虽然不能做一个单纯的”工具帝“,但是自己有合适的工具集真的很关键.以前认识一个做逆向工程的高手,有自己的”反马套装“,其实不外乎就是 OD . IDA .Sy ...

  2. python批量裁剪图片

    """用Pythonp批量裁剪图片""" from PIL import Imageimport matplotlib.pyplot as ...

  3. com.alibaba.fastjson.JSONObject之对象与JSON转换方法

    com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSON对象转换Java ...

  4. jre、jdk、jvm之间的关系

    很多Java的程序员在写了很多代码之后,你问他JRE和JDK是是什么关系,JVM又是什么东西,他是不知道的. JVM(Java Virtual Machine) Java 虚拟机.它只认识 xxx.c ...

  5. 缘起 Dubbo ,讲讲 Spring XML Schema 扩展机制

    背景 在 Dubbo 中,可以使用 XML 配置相关信息,也可以用来引入服务或者导出服务.配置完成,启动工程,Spring 会读取配置文件,生成注入 相关 Bean.那 Dubbo 如何实现自定义 X ...

  6. HTML教程详解

    HTML学习笔记 目录 一.html简介 1.html是什么? 2.html能做什么(html的作用)? 3.html书写规范 二.html基本标签 1.标签的语法 2.标签的分类 3.常用标签: 1 ...

  7. C# 协变、逆变

    微软官方概述: 在C#中,协变和逆变能够实现数组类型.委托类型和泛型类型参数的隐式引用转换.协变保留分配兼容性,逆变则与之相反. 协变:能够使用与原始指定的派生类型相比,派生程度更大的类型. 逆变:能 ...

  8. 一款对Postman支持较好的接口文档生成工具

    最近要编写接口文档给测试和前端看,通过网上查阅资料,也认识了很多款接口文档生成工具,比如易文档.ApiPost.ShowDoc.YApi.EoLinker.DOClever.apizza等,通过对这几 ...

  9. TensorFlow、numpy、matplotlib、基本操作

    一.常量的定义 import tensorflow as tf #类比 语法 api 原理 #基础数据类型 运算符 流程 字典 数组 data1 = tf.constant(2,dtype=tf.in ...

  10. webpack篇,结合理论与实际,加以透彻分析!

    Webpack篇 开始着手项目打包的一些东西,还不是特别懂,一边学习,一边做笔记好啦. 1.webpack的概念.Webpack 是当下最热门的前端资源模块化管理和打包工具.任何形式的资源都可以视作模 ...