项目开发环境搭建手记(2.Jdk安装——替代原有的OpenJDK)

CentOS中安装配置Java开发环境(非OpenJDK) 本文通过在Oracle官网的JDK1.8安装及配置Java开发环境,不使用OpenJDK 1、卸载系统自带的OpenJDK及相关的Java文件 1-1:使用管理员登录服务器,键入命令: java -version 可以看到系统自带的OpenJDK信息 1-2:键入命令: rpm -qa | grep java rpm是管理套件命令,-qa表示使用询问模式查询所有套件;grep表示查询文件里符合... 阅读详情
作者:fbysss
QQ:溜酒酒吧酒吧吾散
blog:blog.youkuaiyun.com/fbysss
声明:本文由fbysss原创,转载请注明出处

前言:Centos下,Java已经安装好了,1.7版本的,但是并没有JAVA_HOME等环境变量。于是:

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

但是,OpenJDK和Oracle的JDK还是有所不同。安装官方的版本感觉更好。

于是,下载Jdk7进行安装。

问题1:centos下,rz,sz这样的传输文件命令没有

解决1:

wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz

或者wget ftp://rpmfind.net/linux/centos/6.5/os/x86_64/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm

问题又来了:

rpm -rvh ./lrzsz-0.12.20-27.1.el6.x86_64.rpm

出现错误:

rpm: arguments to --root (-r) must begin with a /

解决2:

原来是命令敲错了。应该是

rpm -ivh./lrzsz-0.12.20-27.1.el6.x86_64.rpm

rpm -ivh jdk-7u71-linux-x64.rpm

Preparing...               ########################################### [100%]

packagejdk-2000:1.7.0_71-fcs.x86_64 is already installed

那么,java到底安装到哪里了?

rpm -ql jdk-7u71-linux-x64

输出:

 package jdk-7u71-linux-x64 is not installed

Why?搞什么东东呢

 

rpm -qa |grep java 查看已安装的包

Tips:如果要看更详细内容,可以用rpm -qai

 

[root@localhost sss]# rpm -qa |grep jdk

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

jdk-1.7.0_71-fcs.x86_64

原来centos已经安装了这个玩意。在rpm自己的jdk的时候,并不是提示成功,而是提示已经有一个jdk了,就没有安装成功。

rpm -e jdk-1.7.0_71-fcs.x86_64

rpm -e java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

这样一来,至少1.7版的java不会再有了。

jdk-1.7.0_71-fcs.x86_64重新安装上了(注意,和rpm包名并不相同)

 

如此说来,原来可能也已经安装好了?也许刚才不用卸载也可以,不过是有两个1.7而已,通过JAVA_HOME,PATH和CLASSPATH等设置就可以了。

 

ls -l --full-time  /usr/java/jdk1.7.0_71可以看到,完整安装时间,表示的确是刚才安装的。

[root@localhost sss]# /usr/java/jdk1.7.0_71/bin/java-version

java version "1.7.0_71"

Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixedmode)

可以看到,这个java已经不是open jdk了。

ok。

 

vi /etc/profile

在文件尾部加入

export JAVA_HOME=/usr/java/jdk1.7.0_71

exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

 

source /etc/profile

但是问题来了。

java -verion

出现的居然是

OpenJDK Runtime Environment (IcedTea6 1.13.0pre)(rhel-1.66.1.13.0.el6-x86_64)

OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

很容易查到,/usr/bin下面有一个java

[sss@localhost ~]$ ll /usr/bin/java

lrwxrwxrwx. 1 root root 22 Jan  5 20:30/usr/bin/java -> /etc/alternatives/java

发现这是一个链接

[sss@localhost ~]$ ll /etc/alternatives |grep java

可以看到更进一步的链接

lrwxrwxrwx. 1 root root 46 Jan  5 20:30 java ->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

删除这个链接:

alternatives --remove java /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

[sss@localhost ~]$ ll /etc/alternatives |grep java

java -> /usr/lib/jvm/jre-1.5.0-gcj/bin/java

我去。。。居然自动链接了下一个版本。

看来这个alternatives是有来头的。

http://www.cnblogs.com/killkill/archive/2010/08/23/1806468.html

看了这篇文章,知道怎么做了。

 

可以想象,使用

alternatives  --config java

就可以看到多个版本的java管理起来了。

现在也不迟,还有一个1.5版本,我们不卸载了。直接增加一个sun的1.7版本:

 

如果中间弄错了,可以remove。要修改优先级的话,直接就是覆盖install,再打一遍

比如 alternatives --remove java/usr/java/jdk1.7.0_71/java   ——这个路径不存在,有问题,remove了。

 

[root@localhost sss]# alternatives --display java

java - status is manual.

link currently points to /usr/java/jdk1.7.0_71/bin/java

/usr/lib/jvm/jre-1.5.0-gcj/bin/java - priority 1500

slave keytool: /usr/lib/jvm/jre-1.5.0-gcj/bin/keytool

slave rmiregistry:/usr/lib/jvm/jre-1.5.0-gcj/bin/rmiregistry

slave jre_exports: /usr/lib/jvm-exports/jre-1.5.0-gcj

slave jre: /usr/lib/jvm/jre-1.5.0-gcj

/usr/java/jdk1.7.0_71/bin/java - priority 1000

slave keytool: (null)

slave rmiregistry: (null)

slave jre_exports: (null)

slave jre: (null)

Current `best' version is/usr/lib/jvm/jre-1.5.0-gcj/bin/java.

 

为啥还是1.5是 best呢?

原来是优先级的问题。

alternatives --install /usr/bin/java java/usr/java/jdk1.7.0_71/bin/java 1600

这样就改过来了。

Current `best' version is /usr/java/jdk1.7.0_71/bin/java.

 

这里还有两个非常实用的命令:

which和whereis

因为我们在打命令的时候,比如javac,有时候并不知道是哪个版本,javac没有版本号这个参数,至少可以通过which javac看看它在哪个路径。

whereis则是把命令所在的目录都列出来。

这两个命令查找的都是环境变量$PATH(非全盘扫描),但which只找第一个,whereis全部。

/usr/bin/javac 没法知道版本,咋整呢?

ll /usr/bin/javac

[root@localhost sss]# ll /usr/bin/javac

lrwxrwxrwx. 1 root root 27 Jan  5 20:32/usr/bin/javac -> /usr/java/default/bin/javac

ll /usr/java/default/bin/,原来这个目录下也有java

java -version,ok,是正确的jdk

java和javac在同一目录,java没问题,javac也没问题。

ll --full-time /usr/java/default/ 也可以看到bin目录是刚才创建的。



Mac M1芯片Java开发环境搭建 · JDK安装 Mac M1芯片Arm架构JDK安装配置教程 阅读详情

相关推荐

避开Oracle账号验证:3种合法获取JDK的替代方案(含OpenJDK配置指南)

本文针对从Oracle官网下载JDK需账户验证的痛点,提供了三种合法且无需登录的替代方案。详细介绍了从Adoptium等官方渠道获取OpenJDK、使用SDKMAN!进行多版本管理,以及为企业搭建私有镜像源的方法,并附上OpenJDK环境变量配置指南,帮助开发者高效部署Java开发环境。

x8y9z0的博客 727

centos7 配置jdk替换openjdk(上)

不想用默认安装的jdk,想换个版本,以前知道只要设置了/etc/profile文件中export jdk的路径就可以了。这次咋搞都搞不定,各种配置,重启都不行,比如在profile加上。安装了centos7后,每次用java都是openjdk,再reboot还是,没治了,网上的各种配置都试了,还是不行。alternatives来设置软件的版本设置jdk。个提供“java”的程序。按 Enter 保留当前选项。在网上找了下,有个解决方法。

swebin的专栏 4531

CentOS7 安装/切换多版本jdk

CentOS7 默认安装了 openjdk 1.7 和 openjdk1.8,这里以安装 openjdk11 为例 下载 使用 alternatives 安装 使用 alternatives 切换 完成

不忘初心,护天下安全! 2084

甲骨文严查Java授权,换openJDK要避坑

背景外媒The Register报道,甲骨文稽查企业用户,近期开始将把过去看管较松散的Java授权加入。甲骨文针对标准版Java(Java SE)有2种商业授权。2019年4月甲骨文宣布Java SE用户需要付费订阅,才能取得授权及更新,包括Java SE 7、8或11、12。但到同年9月该公司又宣布了免费Java授权方案,针对Java 17版本提供每季更新,并在2021...

xiexiaojing的博客 2506

OpenJDK 8 安装指南

在分布式系统中,Apache Kafka 是一个非常受欢迎的消息中间件。它提供了高吞吐量、低延迟的消息传递机制,非常适合处理实时数据流。本文将介绍如何在 Java 中使用 Kafka Producer 并实现单例模式,以确保资源的有效管理。Kafka 是一个分布式流处理平台,它的核心功能包括发布和订阅记录流、存储流记录、以及处理流记录。为了充分利用 Kafka 的功能,一个高效的 Kafka 生产者(Producer)是必要的。

专注于全栈开发领域 7586

AWR1642+DCA1000EVM 不使用mmWave Studio软件采集原始ADC数据 Timeout问题汇总

DCA1000 EVM Timeout问题汇总

Jesy_Hsu的博客 1474

Linux安装jdk替换默认的openjdk

上传并解压jdk压缩包到服务器 相关命令行 update-alternatives --display java update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_191/bin/java 1800162 update-alternatives --config java

qq_17376623的博客 369

告别USB转接:在STM32探索板上用SPI跑通ESP-Hosted,实现Wi-Fi/BLE连接

本文详细介绍了如何在STM32F469I-DISCO开发板上通过SPI接口实现ESP-Hosted方案,为嵌入式设备添加Wi-Fi和蓝牙连接功能。通过硬件配置、协议栈优化和性能测试,展示了这一创新方案的成本效益和开发效率,特别适合资源受限但需要稳定无线连接的嵌入式应用场景。

weixin_34046298的博客 252

Linux——安装JDK和OpenJDK【多种方法】

一、Linux安装OpenJDK,1、查看系统是否有自带的版本,2、删除OpenJDK,3、本地下载OpenJDK,4、无法本地下载,也可以使用命令下载5、拓展,二、Linux安装JDK(方法1),1、查看系统是否有自带的版本,并删除,2、去官网下载对应的安装包,然后上传到服务器,3、将我们下载好的JDK安装包上传到服务器,进行解压,4、修改环境变量,5、应用修改后的环境变量,6、软链接程序到环境变量中,7、测试是否安装正常。三、其他版本(Windows、MacOS)安装

Pan_peter的博客 5万+

自动驾驶大模型---小鹏汽车VLA大模型

随着自动驾驶技术的进步,小鹏汽车正通过云端大模型蒸馏技术,将72B参数的VLA大模型轻量化后部署到车端,以提升自动驾驶系统的智能和安全性。这种技术路线不仅解决了“模态不统一”的问题,还通过强化学习增强了模型的表现。

智能汽车人的博客 2234

SAP-ABAP:FI财务会计模块常用BAPI及核心用途实例说明

SAP FI模块的BAPI覆盖了从主数据管理、凭证过账到财务关账的全流程操作,是系统集成与自动化的重要工具。实际应用中需结合业务场景选择合适的BAPI,并严格遵循事务控制与校验规则。如需扩展功能,可通过BAdI或用户出口增强标准逻辑。

baidu_35680696的博客 1600

linux 卸载openjdk 安装jdk

卸载openjdk并且安装oracle的jdk 如果有项目在运行,请先停止项目 1.卸载 1.1查看现有版本 版本为openjdk的1.8 java -version 1.2查询所有跟Java相关的安装的rpm包 rpm -qa | grep java 1.3卸载所有跟openjdk相关的包: 使用命令 rpm -e --nodeps 执行命令。删除以上除了noarch 结尾的所有文件 rpm -e --nodeps java-1.8.0-op...

小灰~的博客 1万+

微信小程序 - 获取当前日期时间(函数封装)

效果图 前言 摘自微信小程序demo程序中utils.js方法。 普通newDate()出来的日期时间,并不是我们想要的格式,所以要进行格式整理。 解决方案 打开utils.js文件(随意),复制以下代码: /** *获取当前时间 *@description自定义日期分钟秒数 *@param{Object}date-newData()对象 *@returnString */ functionformatTime(date){ //年月日

🏆 前端领域优质创作者 2843

Linux卸载自带的openJdk,并且安装JDK1.8

Linux系统有时候会默认使用OpenJDK版本,需要卸载后,重新安装自己需要的JDK版本 一、删除系统自带OpenJDK 以下操作,请切换至root权限进行操作 1.1、输入:rpm -qa | grep jdk 会查询出系统自带的OpenJDK及版本 [root@localhost /]# rpm -qa |grep jdk java-1.7.0-openjdk-headless-...

coderWang 2万+

基于STM32的农业蔬菜大棚温湿度采集控制系统(代码+仿真+全部资料)

摘要: 本研究设计了一种基于STM32微控制器的农业蔬菜大棚温湿度智能控制系统。系统通过DHT11传感器实时采集温湿度数据,LCD屏显示当前值及预设阈值,用户可通过按键模块调整阈值范围。当温湿度超出设定阈值时,系统自动控制风扇或加湿器进行调节,确保大棚环境稳定。实验验证表明,该系统具备高精度监测、稳定控制和模块化扩展等优势,有效优化蔬菜生长环境。未来可扩展远程监控等功能,进一步提升智能化水平。 关键词: STM32、温湿度控制、蔬菜大棚、DHT11、自动化调节

3254968421的博客 784

24、交通信号协调算法与模型解析

本文深入解析了交通信号协调中的关键算法与模型,包括多路径进展模型、MAXBAND网络系统模型和松弛启用带模型。这些模型通过合理安排相位序列、优化绿波带宽等方式,提高了交通运行的效率。文章还探讨了交通控制从单点控制向网络协调的发展趋势,分析了当前面临的挑战与机遇,并提出了未来研究方向,如借助信息技术和机器学习,深入研究交通网络的基本构成,以实现智能化和精准化的信号协调。

agile9scrum的博客 132

OpenJDK能替代Oracle JDK 吗

Oracle 要对JAVA收费了,许多人说可以用 OpenJDK替代,但这会对应用有影响吗? OpenJDK 项目主要基于 Sun 捐赠的 HotSpot 源代码。此外,OpenJDK 被选为 Java 的参考实现,由 Oracle 工程师维护。关于 JVM,JDK,JRE 和 OpenJDK 之间的区别,Oracle 博客帖子在 2012 年有一个更详细的答案: 问:OpenJDK 存储库中的源代码与用于构建 Oracle JDK 的代码之间有什么区别? 答:非常接近 - 我们的 Oracle JD

chuixue24的博客 7341

我用C#实现上位机数据一键导出Excel:从乱码到百万行数据秒级导出的实战技巧

ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("日报表");// 1. 标题(合并单元格)worksheet.Cells["A1"].Value = $"产线日报表 -DateTimeNowToString// 2. 表头和数据(同上)worksheet.Cells["A3"].Value = "时间";// ...省略表头和数据填充// 3. 合计行(公式计算)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 712

Java 的 JRE、JDK、卸载 OpenJDK、双击打开 jar、java文档

Java 的 JRE、JDK、卸载 OpenJDK、双击打开 jar、java文档

freeking101的博客 2万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Linux上一般会安装Open JDK,关于OpenJDK和JDK的区别

Linux上一般会安装Open JDK,关于OpenJDK和JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369.html 下面开始安装步骤: --------------------------------------------------------------------------第一步--------------------------...

My_Fayer的博客 9836

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Mac端安装JDK、JDK11、OpenJDK11

Mac端安装JDK、JDK11、OpenJDK11

weixin_42464282的博客 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux安装JDK后提示openjdk

在安装了Oracle的jdk之后发现系统带有openjdk会出现下列情况,就是java -version和javac -version会出现不一样的状态 [root@doctortang ~]# java -version java version "1.7.0_45" OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15) OpenJDK 64-Bit Server VM (build 24.45-b08, m...

hzp666的博客 2374

Java——OpenJDK和JDK的区别

OpenJDK是jdk的开放原始码版本,以GPL协议的形式放出。 在JDK7的时候,openjdk已经成为jdk7的主干开发,sun jdk7是在openjdk7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch License,Java研究授权协议)发布。 至于openjdk6则更是有其复杂的一面,首先是openjdk6是jdk7的一个分支,并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准。

Pan_peter的博客 1万+

卸载自带的openjdk并安装jdk

服务器centos7 1.查看java版本 [root@localhost ~]# java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode) 可以看到系统自带的...

zhaixing 3723

Linux下安装JDK 及 OpenJDK的卸载

1、查询JDK版本   1 2 3 4 [dupenghui@mini01 ~]$ java -version java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-i386) OpenJDK Client VM...

StriverChuiYing的博客 4035
上一篇: 项目开发环境搭建手记(1.VMware配置)
下一篇: 项目开发环境搭建手记(3.GitLab搭建)
fbysss
博客等级 码龄25年 388粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值