Linux 之 JavaEE 定制篇 - 搭建 JavaEE 环境
Linux 之 JavaEE 定制篇 - 搭建 JavaEE 环境
centos 中包含的是 JRE,但没有包含 JDK,也就是说,java 程序可以在 centos 上运行,但是本地无法开发 Java 程序,现象就是命令java -version
可以查出来版本,但是执行javac
会提示找不到,因为javac
就属于 jdk,所以你得在本地安装 jdk 之后再使用javac
:
yum install java-devel
成功安装之后,直接 rpmrebuild <rpm_name>
即可重新构建,构建结果输出到 /root/rpmbuild/RPMS/x86_64/
目录下
安装 JDK
自带 jdk 安装包
涉及到的几个文件夹需要先创建好,同时需要 root 权限,如果没有 root 权限,就放到别的文件夹。
-
mkdir /opt/jdk
-
mkdir /usr/local/java
-
通过 xftp6 上传到
/opt/jdk
下 -
解压:
tar -xzvf /opt/jdk/jdk-8u291-linux-x64.tar.gz -C /usr/local/java/
-
配置环境变量的配置文件,配置环境变量是为了在任何目录都可以使用 Java,就跟我们在任何目录都可以使用
ls
、pwd
一样。vim /etc/profile
添加以下内容到文件最后(PATH 中间是冒号)
1 2
export JAVA_HOME=/usr/local/java/jdk1.8.0_291 export PATH=$JAVA_HOME/bin:$PATH
注意,要把
$PATH
放在后面,不然可能无法生效。 -
重启配置文件,让新的环境变量生效
source /etc/profile
yum 在线安装
执行命令 yum list java*
查看可安装 java 版本
这里我们希望安装 java1.8,因为我们的机器是 64 位的,所以选择安装java-1.8.0-openjdk-devel.x86_64
。这里有个地方要注意,上图中我用红框圈起来的两个 java 版本,要选择-devel
的安装,因为这个安装的是 jdk,而那个不带-devel
的安装完了其实是 jre。
执行命令 yum install -y java-1.8.0-openjdk-devel.x86_64
。执行完后会看见控制台刷出很多输出。耐心等待至自动安装完成。
默认安装到/usr/lib/jvm
目录,环境变量已经自动配置,不需要再手动配置。通过 rpm -ql java-1.8.0-openjdk-devel.x86_64
也可以看出来。
输入java -version
查看已安装的 jdk 版本。
默认的 jdk 地址是/usr/lib/jvm/java
。
在线安装好 JDK 之后,最好立即配置一下 JAVA_HOME
这个环境变量:
-
切换到 root 用户
-
vim /etc/profile
,在最后一行加上1 2 3
export JAVA_HOME=/usr/lib/jvm/java export PATH=$PATH:$JAVA_HOME/bin export PATH=$PATH:$JAVA_HOME/jre/bin
-
执行
source /etc/profile
使配置生效
生效期限:永久有效
生效范围:对所有用户有效
下次查找 JDK 的安装路径,直接执行 echo $JAVA_HOME
即可,注意环境变量名是区分大小写的。
查找 JDK 的安装路径
如果没有配置 JAVA_HOME,怎么办?
其实用ls -l /usr/bin/java
也行
通过 jps
查看所有的 Java 虚拟机,然后通过jinfo
查看系统属性,在sun.boot.class.path
属性中即可看到 jdk 的地址
具体命令看《JVM 性能调优笔记》
为什么设置 JAVA_HOME 无效?
在/etc/profile
中配置的 Java 环境变量是:
|
|
但是实际查看,java 的安装路径确是
|
|
继续追查
|
|
最终指向的是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/bin/java
这个文件,而不是我们在PATH
中指定的$JAVA_HOME/bin
。
解决方法很简单,删掉这两个文件即可:
|
|
再次查看 java 命令,显示结果即正常
|
|
安装 Tomcat
自带 tomcat 安装包
涉及到的几个文件夹需要 root 权限,如果没有 root 权限,就放到别的文件夹。
-
mkdir /opt/tomcat
-
mkdir /usr/local/tomcat
-
通过 xftp6 上传到
/opt/tomcat
下 -
解压:
tar -xzvf /opt/tomcat/apache-tomcat-8.5.71.tar.gz -C /usr/local/tomcat
-
开放端口并重启防火墙
1 2
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
-
启动 tocat
1 2
cd /usr/local/tomcat/apache-tomcat-8.5.71/bin/ sh startup.sh
-
访问 tomcat,localhost:8080
如果可以成功访问,那就说明 tomcat 配置成功,此外要注意,因为我的宿主机配置了 SSR,会拦截所有的请求,所以如果要在宿主机上访问虚拟机中的 tomcat,需要在 SSR 的user.rule
文件中配置白名单。
|
|
在线安装:
用wget
下载 tomcat 安装包,然后剩下的步骤跟自带 tomcat 安装包是一样的。