CentOS如何卸载32位兼容包
alternatives是一个linux下的多版本管理软件,利用它就可以实现jdk的版本切换,这点稍后再描述。先来alternatives目录地下看看有些什么东西。检验系统原版本
linux卸载openjdk_linux卸载openldap
linux卸载openjdk_linux卸载openldap
ja version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.1export PATH=$PATH:$JAVA_HOME/bin1.1) (rhel-1.45.1.11.1.el6-x86_64)
OpenJDK 64-Bit VM (build 20.0-b12, mixed mode)
进步查看JDK信息:
ja-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
卸载OpenJDK执行作:
[root@admin ~]# rpm -e --nodeps tzdata-ja-2012c-1.el6.noarch
[root@admin ~]# rpm -e --nodeps ja-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
常见bug解决系列--linux安装openJdk1.8但jstack不可用
此系列文章长期连载,旨在记录常4、右击先把openjdk卸载了,再重新安装jdk-6u45-linux-x64.bin或者jdk-7u25-linux-x64.gz。该软件并在弹出的页面中点击卸载选项等待卸载完成即可。见bug问题,供大家调试自查使用
linux虚拟机安装的openJDK,但运行jstack等相关命令显示不可用,且查看ja的bin目录下也没有此文件
急!!jdk怎么也设置不成功,程序 'ja' 已包含在下列软件包中!!
SDKInitializer正是ClassDefNotFoundException报错的类。执行这个
sudo apt-get install openjdk-7-jre-headless
就自动安装好了,应该是安装在tzdata-ja-2012c-1.el6.noarch/usr/lib/jvm下
你安装好jdk后,打开相应的版本的bin文件,然后上面有个地址,右键,找到path,粘贴到里面去,点确定就OK啦!
linux jdk版本随时切换版本随时切换实现方法
设置环境变量linux提供了export命令,该命令的修改只对当前终端有效。项目处理问题遇到如下情况,引用第三方的jar包报出ClassDefNotFoundException错误导致app崩溃,双方沟通确认该类存在且排除工程未clean,代码混淆导致等原因。
注意到编译app的时候提示了很多如下与正常情况下不一样的信息:
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing com/baidu/mapapi/SDKInitializer.class
...while processing com/baidu/mapapi/SDKInitializer.class
279 warnings
百度搜索出现这个编译提示找到了问题出现的原因:第三方公司打包这个jar包使用的jdk1.7版本(大于1.6),而我们编译app使用的是1.6版本,由于编译出的字节码版本不一致,导致无法转换成android虚拟机刻度的字节码,因此引用的jar包实际并未编译到当前apk中,程序运行的时候当然就找不到相应的类了。
公司编译实际上配置了多个jdk版本,而且android编译是在设置环境变量的时候设置的jdk版本。编译android4.4使用的是jdk1.6,而编译android5.0则使用的是jdk1.7,这就涉及到了如何随时切换jdk版本。
先来看看如何设置jdk环境变量,百度搜索得到的多是修改~/.bashrc或修改/etc/profile文件一次性完成配置。我用vi打开这两个文件并未找到相应的jdk环境变量,但是使用ja -version确实能看到默认的jdk版本。这就有了疑问,当前默认jdk软件的环境变量是在哪里配置的?
使用 which ja 命令找到当前ja可执行程序的位置
fordreamxin@compiler207:~$ which ja
/usr/bin/ja
/usr/bin/目录下存放的多是用户安装的软件
fordreamxin@compiler207:~$ ll /usr/bin/ja
lrwxrwxrwx 1 root root 22 Nov 13 06:18 /usr/bin/ja - /etc/alternatives/ja
fordreamxin@compiler207:/etc/alternatives$ ls ja
ja ja.1.gz jac jac.1.gz jadoc jadoc.1.gz jah jah.1.gz jap jap.1.gz ja_vm jaws jaws.1.gz
fordreamxin@compiler207:/etc/alternatives$ ll ja
lrwxrwxrwx 1 root root 36 Nov 13 06:17 ja - /usr/lib/jvm/ja-6-sun/jre/bin/ja
原来该目录下放置了很多软件的版本引用,从这里可以找到当前软件版本(jdk)的实际位置
fordreamxin@compiler207:/etc/alternatives$ ls /usr/lib/jvm/
ja-1.7.0-openjdk-amd64 ja-6-sun ja-6-sun-1.6.0.26 ja-7-openjdk-amd64
在/usr/lib/jvm文件夹下时间存储了各个jdk版本的软件,而alternatives正是通过修改它的ja引用达到版本切换的目的。
使用alternatives实现版本切换的方法如下:
update-alternatives --config ja
update-alternatives --config jac
2.如果没有在菜单里可以如下方式添加:
update-alternatives --install /usr/bin/ja ja /usr/lib/jvm/ja/jdk1.6.0_12/bin/ja 300
update-alternatives --install /usr/bin/jac jac /usr/lib/jvm/ja/jdk1.6.0_12/bin/jac 300
3.sudo update-alternatives --config ja
sudo update-alternatives --config jac
选择序号,回车即可;
4.然后ja -version,jac -version查看当前jdk版本
但是使用alternatives需要sudo超级权限,也就是说这种切换是一种全局切换,同修改~/.bashrc或/etc/profile一样,一次作,全局有效。如果没有超级权限怎么办?
fordreamxin@compiler207:/$ echo $PATH
/usr/local/in:/usr/local/bin:/usr/in:/usr/bin:/in:/bin:/usr/s
上面的命令显示了当前的环境变量,也就是~/.bashrc或/etc/profile文件的内容,它表示了当前所有能够全局使用的所有软件或命令的环境变量,没有这些变量,我们不能在任意目录下使用很多命令或软件,这也是环境变量的意义所在。
通过如下命令可export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar以在$PATH的开始或末尾添加jdk的环境变量(bin目录下保存了ja, jac, jah等可执行命令)
export PATH=/usr/lib/jvm/ja-7-openjdk-amd64/bin:$PATH
export PATH=$PATH:/usr/lib/jvm/ja-7-openjdk-amd64/bin/
export的具体使用可参考它的使用手册。
jdk升级17docker如何部署
OpenJDK只包含最精简的JDK:利用Dockerfile构建一个简单的ja应用镜像,依赖环境比较简单,JDK,定制化的Tomcat(名为star-appserver) 1、环境准备 ubuntu:14.04 docker : 1.4 jdk:jdk-8u31-linux-x64.gz tomcat : 7.0(star-appserver) 在/usr/local下创建目录:s.
由于执行的时候总是从$PATH的开始搜索可执行文件的位置,所以如果环境变量中已经设置了一个jdk,那么把新的jdk设置在PATH的开始才会有用。Linux下的JDK和OpenJDK有什么具体的区别?
OpenJDK是JDK的开放原始码版本,以GPL(GeneralPublicLnse)协议的形式放出(题主提到的open就是指的开源)。
在JDK7的时候,OpenJDK已经作为JDK7的主干开发,SUNJDK7是在OpenJDK7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JaResearchLnse,Ja研究授权协议)发布。至于OpenJDK6则更是有其复杂的一面,首先是OpenJDK6是JDK7的一个分支,并且尽量去除JaSE7的新特性,使其尽量的符合Ja6的标准。关于JDK和OpenJDK的区别,可以归纳为以下几点:授权协议的不同:OpenJDK采用GPLV2协议放出,而SUNJDK则采用JRL放出。
两者协议虽然都是开放3、在进入页面后在页面上找到Ja 8 Update 1和Ja SE Dlopment Kit 8 Update 19。源代码的,但是在使用上的不同在于GPLV2允许在商业上使用,而JRL只允许个人研究使用。
OpenJDK不包含Deployment(部署)功能:部署的功能包括:BrowserPlugin、JaWebStart、以及Ja控制面板,这些功能在OpenJDK中是找不到的。
关于JDK和OpenJDK的区别,可以归纳为以下几点:
授权权协议的不同:OpenJDK采用GPLV2协议放出,JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPLV2允许在商业上使用,而JRL只允许个人研究使用。
OpenJDK不包含Deployment(部署)功能:部署的功能包括:BrowserPlugin、JaWebStart、以及Ja控制面板,这些功能在Openjdk中是找不到的。
OpenJDK源代码不完整:部分源代码用开源代码替换:由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用FreeType代替。
OpenJDK不包含其他的软件包,比如RhinoJaDBJAXP??
OpenJDK不能使1. 查看相应的jdk是否在 ubuntu的jdk菜单里,查看:用Ja商标:
如何用新安装的jdk替换掉Linux系统默认jdk
1、点击电脑桌面上的开始菜单并在弹出的页面中点击控制面板选项。(1)
/etc/profile
export JAVA_HOME=/usr/ja/jdk1.7.0_67-cloudera/
export JRE_HOME="$JAVA_HOME/jre"
修改完成后,使用source /etc/profile 命令进行更新;
(2)下面这几步比较重要,因为在许[root@admin ~]# ja -version多linux系统中都预装了openjdk,所以即使上面进行了这些设置,系统默认的还不是我们要设置的内容;如果要真正使用我们自己的jdk,还需要一下步骤:
sudo update-alternatives --install /usr/bin/ja ja /usr/ja/jdk1.7.0_67-cloudera/bin/ja 300
sudo update-alternatives --install /usr/bin/jac jac /usr/ja/jdk1.7.0_67-cloudera/bin/jac 300
(这里的300只是标识一下,没什么意义,只是下一步要用到)
(3)大功告成,使用ja -version 命令来查看我们的ja环境变量,显示如下内容:
ja version "1.7.0_05"
Ja(TM) SE Runtime Environment (build 1.7.0_05-b06)
Ja HotSpot(TM) VM (build 23.1-b03, mixed mode)
对于更新一个 /usr/bin/xxx 命令指向一个新的路径可以用 sudo update-alternatives --config xxx
WINDOWS系统如何卸载jdk?
[root@admin ~]# rpm -qa | grep ja2、在进入控制面板页面后点击页面上的程序和功能选项。
注意:jdk1.6.0_12 版本不同会有变动