shell配置java环境变量和批处理配置环境变量

news/2024/7/7 18:03:34

linux配置java环境只需在/etc/profile中添加以下

前提是把jdk解压到/usr/local路径,当然路径可以随便改

export JAVA_HOME=/usr/local/jdk1.7.0_79
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_BIN
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


添加完毕后,执行

source /etc/profile
重新运行,使配置生效


以下是配置java环境的shell和window上的批处理

运行shell的前提是,shell必须跟jdk在同一目录下


1、shell里面配置的环境变量,并且export变量,则新建每一个shell都能利用这些变量。(环境变量定义在/etc/profile中,则每次开机后,环境变量都export一次,即可用于系统任意地方)

在shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。

#!/bin/bash
#java environment variables
Base_Path=$(cd `dirname $0`; pwd)
echo $Base_Path
JAVA_HOME=$Base_Path/jdk1.8.0_131
echo $JAVA_HOME
JAVA_BIN=$Base_Path/jdk1.8.0_131/bin
echo $JAVA_BIN
PATH=$PATH:$JAVA_BIN
echo $PATH
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
echo $CLASSPATH
#cancel LD_LIBRARY_PATH define
#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$Base_Path/lib
#echo $LD_LIBRARY_PATH
#write java environment variables to /etc/profile if not exist
grep -q "export JAVA_HOME" /etc/profile
if [ $? -ne 0 ]; then
echo "java environment variables not exist,starting define it"
echo "export JAVA_HOME="$JAVA_HOME>>/etc/profile
echo "export JAVA_BIN="$JAVA_BIN>>/etc/profile
echo "export PATH=\$PATH:\$JAVA_BIN">>/etc/profile
echo "export CLASSPATH="\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar>>/etc/profile
#echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$Base_Path/lib">>/etc/profile
fi
echo "Config Java Environment Variables Success"
#compile file
source /etc/profile
#copy lib .so file to /usr/lib
for file in $Base_Path/lib/*
do
#echo $file
if test -f $file && [ "${file##*.}" = "so" ];
then
echo "copy:"$file
cp $file /usr/lib
fi
done
echo "Config .so File Success"
#compile .so file
ldconfig
#copy config.ini file
if [ ! -f "/usr/local/config.ini" ];
then
cp $Base_Path/lib/config.ini /usr/local
echo "cp success"
fi
echo "Config Success"


2、批处理配置环境变量是永久的(必须支持setx   目前win7以上才有setx语句)

@echo off
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set basepath=%~dp0
echo 当前路径 %basepath%
set javahome=%basepath%jdk1.8.0_131
echo javahome %javahome%
set javalib=%basepath%lib
echo javalib %javalib%
rem LPY
echo.
echo ************************************************************
echo * *
echo * JDK 系统环境变量设置 *
echo * *
echo ************************************************************
echo.
echo === 准备设置环境变量: JAVA_HOME=%javahome%
echo === 注意: 如果JAVA_HOME存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===
echo.
echo === 准备设置环境变量: classPath=%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;.
echo === 注意: 如果classPath存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===
echo.
echo === 准备设置环境变量: PATH=%%JAVA_HOME%%\bin
echo === 注意: PATH会追加在最后面,
echo.
set /P EN=请确认后按 回车键 开始设置!
echo.
echo.
echo.
echo.
rem 1:设置JAVA_HOME
echo === 新创建环境变量 JAVA_HOME=%javahome%
setx "JAVA_HOME" %javahome% -m
echo JAVA_HOME %JAVA_HOME%
echo.
rem 2:设置classPath
echo === 新创建环境变量 classPath=.;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar
setx "classPath" ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" -m
echo classPath %classPath%
echo.
rem 3:设置 CATALINA_HOME
rem echo == 新创建环境变量 CATALINA_HOME
rem setx "CATALINA_HOME" "%basepath%apache-tomcat-8.0.44" -m
rem 4:设置path
echo === 新追加环境变量 PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;
echo === 判断是否已设置path
rem findstr 查找path是否存在字符串
echo %path% | findstr /c:"%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%javalib%"
if errorlevel 1 (
rem 找不到
echo ===path未设置环境变量,追加环境变量
setx path "%path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%javalib%" -m
) else (
rem 找到
echo ===path已设置环境变量,跳过设置
)
echo %path%
rem 创建文件夹
if not exist C:\Windows\VM md C:\Windows\VM
rem 复制配置
if not exist C:\Windows\VM\config.ini copy %javalib%\config.ini C:\Windows\VM\
rem 运行驱动安装
%basepath%HASPUserSetup\HASPUserSetup.exe
echo 环境配置完毕
echo.
rem LPY Zeus http://write.blog.csdn.net/postedit/9822439
echo === 请按任意键退出!
pause>nul







http://www.niftyadmin.cn/n/4771151.html

相关文章

Python风靡全宇宙,首要原因竟是它?

众所周知,Python是目前使用最广泛且用户增长最快的编程语言。优雅简洁的语法、强大的第三方库支持等都是Python能够风靡各行各业的原因。然而,你或许不知道,Python能够实现用户飞速增长,背后其实另有玄机。 就让我们从近年来大数据…

Quartz 的配置

2019独角兽企业重金招聘Python工程师标准>>> <?xml version"1.0" encoding"utf-8"?> <beans xmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:…

在ASP.NET WebAPI 中使用缓存

初步看了下CacheCow与OutputCache&#xff0c;感觉还是CacheOutput比较符合自己的要求&#xff0c;使用也很简单 PM>Install-Package Strathweb.CacheOutput.WebApi2 基础使用 CacheOutput特性 [Route("get")] [CacheOutput(ClientTimeSpan 60, ServerTimeSpa…

父页面调用子页面方法, 子页面加载父页面传送的数据

先看效果图就明白需求了: 点击search查询结果集, 点击某一条将该条的其他信息分别加载到tab1和tab2中, 即net bill和other amount这两个tab. 点击clear清空查询条件及datagrid, 同时清空tab1和tab2内的数据. 父页面: 1 <% page language"java" contentType"t…

windows server 2008 创建NTP时间同步服务器和客户端

背景&#xff1a;处于内网内的多台服务器&#xff08;我们称之为NTP客户端&#xff09;时间经过长时间运行&#xff0c;系统时间相差5分钟&#xff0c;有一台服务器连接外网&#xff08;我们称为NTP服务器&#xff09;。 由于外网服务器可以和internet时间同步&#xff0c;故选…

ubuntu强行修改deb安装包依赖

在ubuntu下安装第三方软件deb包&#xff0c;有时候会遇到一种情况&#xff0c;因为这个软件没有在你版本上适配&#xff0c;或者依赖某些包而我们系统无法安装&#xff0c;但使用dpkg强制安装&#xff0c;也能正常使用。但这样就会带来一个问题&#xff0c;ubuntu的包管理apt命…

asp.net MVC5 [Route]路由

1、RouteConfig 类下 RegisterRoutes方法中注册&#xff1a; routes.MapMvcAttributeRoutes(); 2、自定义路由后缀 <system.webServer><!--此节点下 添加如下节点--><modules runAllManagedModulesForAllRequests"true" />

MariaDB完成C轮2700万美元投资 阿里巴巴领投

2019独角兽企业重金招聘Python工程师标准>>> 11月2日&#xff0c;知名开源数据库公司MariaDB 宣布完成由阿里巴巴领投的C轮2700万美元的融资。融资完成后&#xff0c;MariaDB社区将具备更强的实力参与数据库日益激烈的竞争。 MariaDB是全球知名的开源数据库&#xf…