常用的软件包括 jdk,maven。
首先要安装的自然是 jdk,你可以选择 openjdk 或者是 Sun 官方的 SDK,或者两个都装,用 alternatives 命令来随时切换,它的实现原理是管理一组从 /usr/bin
到 /etc/alternatives
的软链接。
几乎所有的 Linux 发行版的官方源都会提供 Openjdk,所以安装很简单,换成 root 用户:
# yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel
Sun SDK 的安装需要先去 Oracle 官网下载,我这里直接下载 rpm 包:
# wget http://download.oracle.com/otn-pub/java/jdk/6u27-b07/jdk-6u27-linux-i586-rpm.bin # mv jdk-6u27-linux-i586-rpm.bin* jdk-6u27-linux-i586-rpm.bin # sh jdk-6u27-linux-i586-rpm.bin
先把默认的与 java 有关的 alternatives全部删掉。
# ls -l /etc/alternatives # alternatives --remove java_sdk_1.6.0 /usr/lib/jvm/java-1.6.0-openjdk # alternatives --remove java_sdk_1.6.0_exports /usr/lib/jvm-exports/java-1.6.0-openjdk # alternatives --remove java_sdk_openjdk /usr/lib/jvm/java-1.6.0-openjdk # alternatives --remove java_sdk_openjdk_exports /usr/lib/jvm-exports/java-1.6.0-openjdk # alternatives --remove jre_1.6.0 /usr/lib/jvm/jre-1.6.0-openjdk # alternatives --remove jre_1.6.0_exports /usr/lib/jvm-exports/jre-1.6.0-openjdk # alternatives --remove jre_openjdk /usr/lib/jvm/jre-1.6.0-openjdk # alternatives --remove jre_openjdk_exports /usr/lib/jvm-exports/jre-1.6.0-openjdk
把原来默认安装的一个老版本的 gcj给删掉。
# yum erase java-1.5.0-gcj
配置新 java 的 alternatives
# alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000 \ --slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \ --slave /usr/bin/orbd orbd /usr/java/default/bin/orbd \ --slave /usr/bin/pack200 pack200 /usr/java/default/bin/pack200 \ --slave /usr/bin/rmid rmid /usr/java/default/bin/rmid \ --slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry \ --slave /usr/bin/servertool servertool /usr/java/default/bin/servertool \ --slave /usr/bin/tnameserv tnameserv /usr/java/default/bin/tnameserv \ --slave /usr/bin/unpack200 unpack200 /usr/java/default/bin/unpack200 \ --slave /usr/bin/javaws javaws /usr/java/default/bin/javaws \ --slave /usr/bin/jcontrol jcontrol /usr/java/default/bin/jcontrol \ --slave /usr/bin/policytool policytool /usr/java/default/bin/policytool \ --slave /usr/lib/jvm/jre jre /usr/java/default/jre \ --slave /usr/bin/appletviewer appletviewer /usr/java/default/bin/appletviewer \ --slave /usr/bin/javac javac /usr/java/default/bin/javac \ --slave /usr/bin/apt apt /usr/java/default/bin/apt \ --slave /usr/bin/extcheck extcheck /usr/java/default/bin/extcheck \ --slave /usr/bin/HtmlConverter HtmlConverter /usr/java/default/bin/HtmlConverter \ --slave /usr/bin/idlj idlj /usr/java/default/bin/idlj \ --slave /usr/bin/jar jar /usr/java/default/bin/jar \ --slave /usr/bin/jarsigner jarsigner /usr/java/default/bin/jarsigner \ --slave /usr/bin/javadoc javadoc /usr/java/default/bin/javadoc \ --slave /usr/bin/javah javah /usr/java/default/bin/javah \ --slave /usr/bin/javap javap /usr/java/default/bin/javap \ --slave /usr/bin/jconsole jconsole /usr/java/default/bin/jconsole \ --slave /usr/bin/jdb jdb /usr/java/default/bin/jdb \ --slave /usr/bin/jhat jhat /usr/java/default/bin/jhat \ --slave /usr/bin/jinfo jinfo /usr/java/default/bin/jinfo \ --slave /usr/bin/jmap jmap /usr/java/default/bin/jmap \ --slave /usr/bin/jps jps /usr/java/default/bin/jps \ --slave /usr/bin/jrunscript jrunscript /usr/java/default/bin/jrunscript \ --slave /usr/bin/jsadebugd jsadebugd /usr/java/default/bin/jsadebugd \ --slave /usr/bin/jstack jstack /usr/java/default/bin/jstack \ --slave /usr/bin/jstat jstat /usr/java/default/bin/jstat \ --slave /usr/bin/jstatd jstatd /usr/java/default/bin/jstatd \ --slave /usr/bin/native2ascii native2ascii /usr/java/default/bin/native2ascii \ --slave /usr/bin/rmic rmic /usr/java/default/bin/rmic \ --slave /usr/bin/schemagen schemagen /usr/java/default/bin/schemagen \ --slave /usr/bin/serialver serialver /usr/java/default/bin/serialver \ --slave /usr/bin/wsgen wsgen /usr/java/default/bin/wsgen \ --slave /usr/bin/wsimport wsimport /usr/java/default/bin/wsimport \ --slave /usr/bin/xjc xjc /usr/java/default/bin/xjc \ --slave /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/default/jre/plugin/i386/ns7/libjavaplugin_oji.so
上边的配置不是标准的 alternatives 用法,原因是 Sun官方的 rpm安装包已经帮我们配置好了一组目录链接,如果想换版本,直接修改 /usr/java/defalut 目录的链接就可以。其实可以直接将上面的文件链接到 /usr/bin,但是修改或者删除比较麻烦,如果用 alternatives,可以直接通过下面语句进行删除。
# alternatives --remove java /usr/java/default/bin/java
通过下面的语句将 jdk 切换到 openjdk,注意删除一个目录链接,最后不能加斜杠。
# rm -rf /usr/java/default # ln -s /usr/lib/jvm/java-1.6.0-openjdk /usr/java/default
标准的 alternative 切换方式应该用下面的命令,不过这里用不上。
# alternatives --config java
安装 jdk7 ,这里用的是 tar.gz 的安装包,需要手工做链接。
# wget -c http://download.oracle.com/otn-pub/java/jdk/7u2-b13/jdk-7u2-linux-i586.tar.gz # mv jdk-7u2-linux-i586.tar.gz /usr/java/ # tar xzvf /usr/java/jdk-7u2-linux-i586.tar.gz # rm -rf /usr/java/latest # ln -s /usr/java/jdk1.7.0_02/ /usr/java/latest
配置 JAVA_HOME,编辑文件 /home/tommy/.bashrc
,增加下面内容:
export JAVA_HOME=/usr/java/default
如果没有使用 alternatives,还要在上面增加下面的语句:
export PATH=$PATH:$JAVA_HOME/bin
参考文档
下载最新版本的 maven,把它复制到 /usr/local/apache-maven 目录下。
$ sudo mkdir /usr/local/apache-maven $ cd /usr/local/apache-maven $ sudo wget http://apache.etoak.com//maven/binaries/apache-maven-3.0.3-bin.tar.gz $ sudo tar xzvf apache-maven-3.0.3-bin.tar.gz
修改 /home/tommy/.bashrc
文件,增加下面内容。
export M2_HOME=/usr/local/apache-maven/apache-maven-3.0.3 export M2=$M2_HOME/bin export MAVEN_OPTS="-Xms256m -Xmx512m" export PATH=$M2:$PATH
我需要通过 maven 将项目 deploy 到外部的主机上,所以需要修改 setting.xml
文件。这里我没有修改全局的配置文件,复制一份到用户目录来修改。
$ cp /usr/local/apache-maven/apache-maven-3.0.3/conf/settings.xml ~/.m2/ $ $ vi .m2/settings.xml # 增加下面内容 ...... <server> <id>googlecode.gaixie.m2-release</id> <username>xxxxxx</username> <password>xxxxxx</password> </server> <server> <id>googlecode.gaixie.m2-snapshot</id> <username>xxxxxx</username> <password>xxxxxx</password> </server> <server> <id>sonatype-staging</id> <username>xxxxxx</username> <password>xxxxxx</password> </server> <server> <id>sonatype-snapshots</id> <username>xxxxxx</username> <password>xxxxxx</password> </server> .....