JDK一键安装,配置环境
人懒,就得“多干活”!
正常安装JDK 的话,它会修改系统的path 变量,加入自己的调用路径(jre)
这样,我们刚安装好后,就可直接调用java –verbose 查看jre 安装的目录了。
(如果你是批处理安装的,那么当前是无法调用的,可另开新窗口就可调用了)
主要代码,就三行( 默认都是用户变量,两个%转义,还有^输出转义)
setx CLASSPATH ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"
setx PATH ";%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin"
setx JAVA_HOME " C:\ProgramFiles\Java\jdk1.8.0_111"
代码复制到文本文件,另存为 XXX.bat ,然后把jdk安装文件拖在XXX.bat上即可
写入的都是 相对路径
-----------------完整 批处理 复制以下-----
@Echo Off
title 正在为您安装 jdk...
color 0a
mode con cols=50 lines=20
echo 正在为您安装 jdk...
rem 从拖入的文件获取路径并执行,等待安装结束
start /w %1 /s
rem 用java -verbose 获取JAVA安装路径
for /f "delims=" %%a in ('%programdata%\Oracle\Java\javapath\java -verbose') do (
set Java_path=%%a
)
rem 分别获取安装盘符,与目录再拼接成绝对路径
for /f "tokens=1,2 delims=':'" %%i in ("%Java_path%") do (
set str1=%%i
set str2=%%j
)
set Java_path=%str1:~-1%:%str2:~0,-1%
rem 截取JAVA安装的目录
set Java_path=%Java_path:~0,-11%
rem 将字符串中的jre换成jdk
set Java_path=%Java_path:Java\jre=Java\jdk%
echo %Java_path%
rem 以脚本变量 替换用户或系统中的变量,可以写入引用路径
set JAVA_HOME =""
rem 设置 javac 的用户变量,如果想成系统变量请加 -m
setx CLASSPATH ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"
setx PATH ";%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin"
setx JAVA_HOME "%Java_path%"
cls
Echo. --------安装结束-----------
echo 如果 输入javac 没有反映,请重启下机器
pause
-----------------完整 批处理 复制以上-----
如果我想在 path 的基础上 加入 对tomcat目录里的php的引用,怎么加?
可以在用户
变量名 上写 TOMCAT_HOME
变量值 上写 C:\apache-tomcat-7.0.40
Path 里只要写 setx path "%path%;%TOMCAT_HOME%\php" 就可以引用了
setx /k /? 有一条 /K regpath 指定变量是基于注册表项的信息而设置的。
这条是说,设置一条基于注册表信息的变量,就是读取注册表的结果为设置环境变量的值。
如下图
PS 一些常识
上面可以看到用户环境变量 与 系统环境变量 中都有path ,
从截图上可以看出,查询的过程是path 的结果是 系统变量加用户,先查系统再查用户
我们修改用户变量时,会修改注册表的两个地方
[HKEY_CURRENT_USER\Environment]
[HKEY_USERS\S-1-5-21-xxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-500\Environment](500是管理员)
第一个指当前用户,就是当前安装jdk 的用户
第二个是Public 用户,公共用的,有些用户安装的东西 for everyone 的那种。
所以上面的那3 行代码,就可以写成
reg add HKCU\Environment /v CLASSPATH /tREG_EXPAND_SZ /d ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar" /f
reg add HKCU\Environment /v PATH /t REG_EXPAND_SZ /d ";%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;"/f
reg add HKCU\Environment /v JAVA_HOME /tREG_SZ /d " C:\Program Files\Java\jdk1.8.0_111" /f
---------------------------------------------
reg query HKEY_CURRENT_USER\Environment /v JAVA_HOME //查看
reg delete HKCU\Environment /v JAVA_HOME /f //删除
------------------------------------------
JDK一键安装,配置环境的更多相关文章
- jdk下载安装配置环境变量
因为学习原因要用到一些工具,jdk12的版本与那个工具不兼容,所以这里推荐使用的是jdk1.8的版本, 不知道是电脑原因还是啥原因,jdk 12的版本用不了配不好环境变量. 首先可以在官网下载jdk1 ...
- Java JDK的安装以及环境变量的配置
安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...
- LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2
LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2 你是否遇见过:安装LNMP1.3环境后,运行ThinkPHP 3.2,只能打开首页,不能访问控制器,报404错误. 按照 ...
- Java入门之JDK的安装和环境变量的配置
Java的版本 1. Java SEjava se 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE是基础包,但是也包含了支持 Jav ...
- JDK的安装及环境变量配置
JDK的安装及环境变量配置 JDK解释:直达详细解释. 1.JDK下载地址:点击直达官网下载 进入后,如图1,点击图中红框DOWNLOAD按钮进入下载页 进入下载页后,在下载也底端,根据自己的需求下载 ...
- Java基础(1)JDK的安装与环境变量配置
最近在复习Java基础,第一课就是JDK的安装配置以及环境变量的配置,不多废话,直接开始吧 (1)去Oracle官方网站下载JDK 1.8 Java的历史想必大家也清楚,Sun公司开发的一门面向对象的 ...
- java运行环境jdk的安装和环境变量的配置教程
jdk的下载与安装 一.官网下载jdk 1.百度搜索jdk,进入官网,如下图所示: 官网下载jdk图1 2.在官网网站中找到合适的版本下载(以最新版本为例),如下图所示: 官网下载jdk图2 官网下载 ...
- JDK下载安装与环境变量配置图文教程【超详细】
JDK下载安装与环境变量配置图文教程[超详细] 创建时间:2019年11月13日11时02分 文章目录 1. JDK介绍 1.1 什么是JDK? 1.2 JDK版本介绍 2. JDK下载与安装 3.w ...
- Linux下jdk的安装和环境变量的配置
Linux下jdk的安装和环境变量的配置 一.jdk的下载 方式一:在官网下载 http://www.oracle.com/technetwork/java/javase/downloads/inde ...
随机推荐
- Spring Boot 学习系列(02)—使用热部署,提升开发效
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 开发调试很简单 热部署的使用非常简单,但能极大的提高我们的开发效率,像传统的web应用,我们修改后需要重新编 ...
- day05.2-Vim编辑器
一. 安装Vim编辑器和打开新建文件 安装Vim编辑器:apt-get install Vim 新建与打开Vim文件:vim 文件名 二. Vim编辑器三种模式的使用与切换 指令 ...
- Apache虚拟主机-解惑篇
有很多平时喜欢钻研的童鞋会发现,为什么有时候自己访问某XXse网站时,总是更新IP地址,内容却与以前一样.这个时候就要了解虚拟主机的概念了.了解这个概念,能够帮助运维同学,更内涵的隐藏自己的主 ...
- 新姿势!Redis中调用Lua脚本以实现原子性操作
背景:有一服务提供者Leader,有多个消息订阅者Workers.Leader是一个排队程序,维护了一个用户队列,当某个资源空闲下来并被分配至队列中的用户时,Leader会向订阅者推送消息(消息带有唯 ...
- luogu1900 自我数
分享一个非正解的做法 本题解内存最低(\(\le1\rm MiB\)) 但是不开O2会tle 思路:每个数字仅会更新出1个新的数字,而且这个新数字比旧数字最多也就大70多.所以这里还是利用" ...
- Palindromes _easy version(reverse)
Problem Description “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串.请写一个程序判断读入的字符串是否是“回文”. Input 输入包 ...
- Java 标准IO高可用类
输出: 使用: * <pre> * public class TestStdOut { * public static void main(String[] args) { * int a ...
- 江西财经大学第一届程序设计竞赛 B
链接:https://www.nowcoder.com/acm/contest/115/B来源:牛客网 题目描述 给出一个出生日期,比如:1999-09-09, 问:从出生那一天开始起,到今天2018 ...
- day20 模块 collections time sys os
1.模块 1. 模块的定义:我们把装有特定功能的代码进行归类的结果.我们目前写的所有py文件都是模块 2. 引入模块的方式: 1.import 模块名 2.from xxx import 模块名 2. ...
- 基于APPIUM测试微信公众号的UI自动化测试框架(结合Allure2测试报告框架)
框架初衷 前两周组内的小伙伴跟我说她现在测试的微信公众号项目(保险)每次上新产品时测试起来很费时,存在大量的重复操作(点点点),手工测试每个产品可能需要半天到一天的时间,复杂的产品需要两天. 由于保险 ...