linux服务器上面安装JDK,TOMCAT,部署项目以及出现的问题解决方法

对于安装环境,之前一直用的是1.7的版本,最近要求改成1.8的版本,但是有的服务器已经安装好环境,以及部分服务器可能有自带的JDK,或者是安装到一半的环境。。。。。
以下是一个简单的脚本,可以实现简单的一键安装功能。()
mkdir /usr/java
mkdir /znywImage

cp -f /usr/jdk-8u161-linux-x64.tar.gz /usr/java

tomcatPath=/usr/apache-tomcat-8.5.20
if [  -d "$tomcatPath" ]; then
    echo "删除$tomcatPath目录"
    sudo rm -rf $tomcatPath
    echo "目录$tomcatPath删除成功"
fi

jdkPath=/usr/java/jdk1.8.0_161
if [  -d "$jdkPath" ]; then
    echo "删除$jdkPath目录"
    sudo rm -rf $jdkPath
    echo "目录$jdkPath删除成功"
fi

tar -xzvf /usr/apache-tomcat-8.5.20.tar.gz -C /usr
tar -xzvf /usr/java/jdk-8u161-linux-x64.tar.gz -C /usr/java




myfile=/etc/profile
echo "原来文件的总行数"
awk 'END{print NR}' $myfile

echo "jdk开始的行数"
grep -an "export JAVA_HOME=/usr/java/" $myfile |cut -d: -f1

echo "jdk结束的行数"
grep -an "export PATH=" $myfile |cut -d: -f1

echo "开始准备删除文件中的重复数据"
startLine=$(grep -an "export JAVA_HOME=/usr/java/" $myfile |cut -d: -f1)
endLine=$(grep -an "export PATH=" $myfile |cut -d: -f1)
sed -i $startLine','$endLine'd' $myfile
echo "删除完毕!!!!"

echo "文件剩余行数"
awk 'END{print NR}' $myfile

echo "测试结束!!"





echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> /etc/profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> /etc/profile
echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib" >> /etc/profile
echo "export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin" >> /etc/profile





cp -f /usr/server.xml /usr/apache-tomcat-8.5.20/conf
echo "server.xml移动成功"

`source /etc/profile`
source /etc/profile
javac
echo "配置环境成功"
echo "测试是否安装成功"
java -version
echo "-----------------------------------"
javac -version
echo "JDK安装成功"



rebootfile=/etc/rc.d/rc.local
echo "原来文件的总行数"
awk 'END{print NR}' $rebootfile

echo "自启动开始的行数"
grep -an "export JAVA_HOME=/usr/java/" $rebootfile |cut -d: -f1

echo "自启动结束的行数"
grep -an "/usr/apache-tomcat-8.5.20/bin/startup.sh start" $rebootfile |cut -d: -f1

echo "开始准备自启动删除文件中的重复数据"
startLine=$(grep -an "export JAVA_HOME=/usr/java/" $rebootfile |cut -d: -f1)
endLine=$(grep -an "/usr/apache-tomcat-8.5.20/bin/startup.sh start" $rebootfile |cut -d: -f1)
sed -i $startLine','$endLine'd' $rebootfile
echo "删除完毕!!!!"

echo "文件剩余行数"
awk 'END{print NR}' $rebootfile

echo "测试结束!!"




echo "linux自启动Tomcat"
echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> /etc/rc.d/rc.local

echo "/usr/apache-tomcat-8.5.20/bin/startup.sh start" >> /etc/rc.d/rc.local

chmod 777 /etc/rc.d/rc.local


cp -f /usr/znywSNMP.war /usr/apache-tomcat-8.5.20/webapps
cp -f /usr/zhyw.war /usr/apache-tomcat-8.5.20/webapps
cp -f /usr/zhywFileUpload.war /usr/apache-tomcat-8.5.20/webapps

cd /usr/apache-tomcat-8.5.20/bin
./startup.sh
echo "tomcat起动成功!!"

chmod 700 JAVA.sh




然后可能会出现虽然Tomcat可以正常运行,但是,当你输入javac -version 和 java -version时,可能会出现以下问题:
1.javac -version 出不来:
你可以尝试一下,手动配置/etc/profile这个文件(vim /etc/profile --->输入  i   --->进行配置,系统文件,需要谨慎修改-->esc---->:wq----->source profile(让这个文件生效))
具体内容:
export JAVA_HOME=/usr/java/jdk1.8.0_161
export JRE_HOME=/usr/java/jdk1.8.0_161/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

2.javac -version 和 java -version版本不一致:(在网上找的,可以参考,但是具体情况还是可能会有区别的)
 查看自带的jdk:  
   #rpm -qa|grep gcj 
   可能看到如下类似的信息: 
   libgcj-4.1.2-44.el5 
   java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 
   使用rpm -e --nodeps 命令删除上面查找的内容: 
   #rpm -e –nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 
卸载rpm安装的jkd版本 
   查看安装的jdk: 
   #rpm -qa|grep jdk 
   可能看到如下类似的信息: 
   jdk-1.6.0_22-fcs 
   卸载: 
   #rpm -e --nodeps jdk-1.6.0_22-fcs   

网上一般都是这个版本的答案,其实我输出的并没有带fcs的,而且也没有自带的JDK,
这个时候,看了你另外一个博客上面说,需要删除一些文件,虽然我安装了JDK,但是由于之前有人安装过其他版本,所以指定的并不是我想让它运行的那个文件夹下面的东西,,,,,,我记得好像是删了一个java文件,好像在alternative什么文件夹里面的,但是后来发现,,,,what,,,,,java -version 直接报  没有那个文件或者目录,,,心塞啊。。。。。。
后来,我又检查了一遍环境变量的配置,后来发现:一个大神的博客,神奇的解决了问题:

[root@localhost usr]# $JAVA_HOME/bin/java -version  
bash: /bin/java: 没有那个文件或目录  

和直接输入java -version结果一样  但是神奇的就是下面啦

 . /etc/profile  

 $JAVA_HOME/bin/java -version 

这个时候,安装的版本就出来啦,而且就是我刚刚安装的版本,没有问题

这个时候,检查一下,你会发现:

which java  

结果是:/usr/bin/java  

这就是为什么直接输入:java -version      结果要么不是自己最新安装的JDK版本,要么就是报没有这个文件或目录的原因

这个时候,可以用下面的指令

 mv /usr/bin/java /usr/bin/oldjava

ln -s $JAVA_HOME/bin/java /usr/bin/java  

然后,你输入java -version和javac -version就出来啦,而且版本一致,且是最新的

一般,可以直接手动在linux上面安装java环境,主要就是修改/etc/profile文件和Tomcat自启动时,配置一下/etc/rc.d/rc.local这个文件就可以啦。。。。。。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值