Ubuntu Java 开发环境搭建(安装包手动安装)
安装JDK8
-
下载JDK安装包。下载地址jdk-8,本文版本jdk-8u361-linux-x64.tar.gz。
-
将文件解压到目标目录。本文安装包下载保存在 ~/Downloads 目录下,[目标目录]为 /workcenter。
cd ~/Downloads #进入JDK安装包的存放目录 sudo tar -zxvf jdk-8u361-linux-x64.tar.gz -C /workcenter #解压到[目标目录]下 cd /workcenter #进入安装目录下 ls #查看是否成功解压 ------------------------------------------------------------------ jdk1.8.0_361 ------------------------------------------------------------------ cd jdk1.8.0_361 #进入JDK目录, pwd #查看安装路径,本文为 /workcenter/jdk1.8.0_361 ------------------------------------------------------------------ /workcenter/jdk1.8.0_361 ------------------------------------------------------------------
-
设置环境变量
sudo vim ~/.bashrc
按小写i进入insert模式。
在文件中添加如下几行内容,
JAVA_HOME
对应路径为第2步pwd所得到的路径。#java环境变量 export JAVA_HOME=/workcenter/jdk1.8.0_361 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
按Esc键,输入 :wq! 保存并退出。
source ~/.bashrc #让配置立即生效
-
终端输入java -version,返回如下信息则表示安装成功。
java -version ------------------------------------------------------------------ java version "1.8.0_361" Java(TM) SE Runtime Environment (build 1.8.0_361-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode) ------------------------------------------------------------------
安装maven
-
下载maven安装包。下载地址maven-3.6.1,本文版本apache-maven-3.6.1-bin.tar.gz。
-
将文件解压到目标目录。本文安装包下载保存在 ~/Downloads 目录下,[目标目录]为 /workcenter。
cd ~/Downloads #进入maven安装包的存放目录 sudo tar -zxvf apache-maven-3.6.1-bin.tar.gz -C /workcenter #解压到[目标目录]下 cd /workcenter #进入安装目录下 ls #查看是否成功解压 ———————————————— apache-maven-3.6.1 ———————————————— cd apache-maven-3.6.1 #进入JDK目录, pwd #查看安装路径,本文为 /workcenter/apache-maven-3.6.1 ------------------------------------------------------------------ /workcenter/apache-maven-3.6.1 ------------------------------------------------------------------
-
设置环境变量
sudo vim ~/.bashrc
按小写i进入insert模式。
在文件中添加如下几行内容,
JAVA_HOME
对应路径为第2步pwd所得到的路径。#maven环境变量 export MAVEN_HOME=/workcenter/apache-maven-3.6.1 export CLASSPATH=${MAVEN_HOME}/lib:$CLASSPATH export PATH=${MAVEN_HOME}/bin:$PATH
按Esc键,输入 :wq! 保存并退出。
source ~/.bashrc #让配置立即生效
-
终端输入mvn -v,返回如下信息则表示安装成功。
mvn -v ------------------------------------------------------------------ Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00) Maven home: /workcenter/apache-maven-3.6.1 Java version: 1.8.0_361, vendor: Oracle Corporation, runtime: /workcenter/jdk1.8.0_361/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "5.15.0-69-generic", arch: "amd64", family: "unix" ------------------------------------------------------------------
安装redis
-
下载redis安装包。下载地址redis-3.2.1,本文版本redis-3.2.1.tar.gz 。
-
将文件解压到目标目录。本文安装包下载保存在 ~/Downloads 目录下,[目标目录]为 /workcenter。
cd ~/Downloads #进入redis安装包的存放目录 sudo tar -zxvf redis-3.2.1.tar.gz -C /workcenter #解压到[目标目录]下 cd /workcenter #进入安装目录下 ls #查看是否成功解压 ------------------------------------------------------------------ redis-3.2.1 ------------------------------------------------------------------
-
正式安装前准备
安装make
sudo apt-get install make
安装gcc
sudo apt-get install gcc
-
进入redis⽬录,编译源码&安装。
cd /workcenter/redis-3.2.1 #进入安装目录下 sudo make #编译源文件 sudo make install #安装 将redis的命令安装到/usr/local/bin目录下 cd /usr/local/bin ls -all ------------------------------------------------------------------ -rwxr-xr-x 1 root root 3340016 4月 5 18:59 redis-benchmark -rwxr-xr-x 1 root root 35888 4月 5 18:59 redis-check-aof -rwxr-xr-x 1 root root 6768680 4月 5 18:59 redis-check-rdb -rwxr-xr-x 1 root root 3563584 4月 5 18:59 redis-cli lrwxrwxrwx 1 root root 12 4月 5 18:59 redis-sentinel -> redis-server -rwxr-xr-x 1 root root 6768680 4月 5 18:59 redis-server ------------------------------------------------------------------ redis-server /workcenter/redis-3.2.1/redis.conf #启动redis ------------------------------------------------------------------ 55712:M 07 Apr 14:39:57.435 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.1 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 55712 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 55712:M 07 Apr 14:39:57.436 # Server started, Redis version 3.2.1 55712:M 07 Apr 14:39:57.436 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 55712:M 07 Apr 14:39:57.436 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 55712:M 07 Apr 14:39:57.754 * DB loaded from disk: 0.318 seconds 55712:M 07 Apr 14:39:57.754 * The server is now ready to accept connections on port 6379 ------------------------------------------------------------------
踩坑
sudo make报错
------------------------------------------------------------------
cd src && make all
make[1]: 进入目录“/workcenter/redis-3.2.1/src”
CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: 没有那个文件或目录
50 | #include <jemalloc/jemalloc.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:201:adlist.o] 错误 1
make[1]: 离开目录“/workcenter/redis-3.2.1/src”
make: *** [Makefile:6:all] 错误 2
------------------------------------------------------------------
针对这个错误,我们可以在README.md 文件中看到解释。
Selecting a non-default memory allocator when building Redis is done by setting
the `MALLOC` environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
Verbose build
错误的本质是我们在开始执行make 时遇到了错误(大部分是由于gcc未安装),然后我们安装好了gcc 后,我们再执行make ,这时就出现了jemalloc/jemalloc.h: No such file or directory。这是因为上次的编译失败,有残留的文件,我们需要清理下,然后重新编译就可以了。
make distclean && make
安装git
-
下载git安装包。下载地址git-2.25.1,本文版本git-2.25.1.tar.gz 。
-
将文件解压到目标目录。本文安装包下载保存在 ~/Downloads 目录下,[目标目录]为 /workcenter。
cd ~/Downloads #进入redis安装包的存放目录 sudo tar -zxvf git-2.25.1.tar.gz -C /workcenter #解压到[目标目录]下 cd /workcenter #进入安装目录下 ls #查看是否成功解压 ------------------------------------------------------------------ git-2.25.1 ------------------------------------------------------------------
-
正式安装前准备
安装libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
-
进入git⽬录,编译源码&安装。
cd /workcenter/git-2.25.1 #进入安装目录下 sudo make prefix=/workcenter/git-2.25.1 all #编译源文件 sudo make prefix=/workcenter/git-2.25.1 install #安装git到[目标路径]
-
设置环境变量
sudo vim ~/.bashrc
按小写i进入insert模式。
在文件中添加如下几行内容,
/workcenter/git-2.25.1/bin
对应路径为第2步中的[目标目录]。#git环境变量 export PATH=$PATH:/workcenter/git-2.25.1/bin
按Esc键,输入 :wq! 保存并退出。
source ~/.bashrc #让配置立即生效
终端输入git --version,返回如下信息则表示安装成功。
git --version ------------------------------------------------------------------ git version 2.25.1 ------------------------------------------------------------------
踩坑
sudo make prefix=/workcenter/git-2.25.1 all 报错
------------------------------------------------------------------
CC fuzz-commit-graph.o
In file included from commit-graph.h:4,
from fuzz-commit-graph.c:1:
git-compat-util.h:297:10: fatal error: openssl/ssl.h: 没有那个文件或目录
297 | #include <openssl/ssl.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:2385:fuzz-commit-graph.o] 错误 1
------------------------------------------------------------------
错误的本质是缺少openssl依赖库。
解决方案,安装相关依赖(即步骤二)
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev