最近因为学Java Web,需要在Ubuntu上搭建JavaWeb的运行环境,在这过程中遇到不少坑,遂在此总结一下。
一、JDK的配置
首先,需要去Oracle官网下载JDK,点击 这里 进入下载页面。然后解压、配置环境变量。Ubuntu环境变量配置需在/etc/profile内,可以用sudo gedit /etc/profile进行配置。需要注意的是,Java 8 和 Java 11的环境变量配置有所不同。
Java 8:
在profile文件末尾写上
export JAVA_HOME=
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
Java 11:
export JAVA_HOME=
export PATH=${JAVA_HOME}/bin:$PATH
因为我发现Java 11安装目录里面没有jre文件夹,虽然Java 11用Java 8的环境变量也可以运行,但会影响Tomcat的启动。
配置好Java后,重启电脑。然后终端输入java -version, javac -version,出现版本号即安装成功。
二、Tomcat的安装
Tomcat可以去Apache官网下载,点击 这里 即可下载安装包,解压下载好的压缩包到指定目录。
Tomcat默认是使用8080端口,需打开这一端口。有两种方法,一种是用iptables的方法打开,另一种是用防火墙打开。
1.iptables
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
sudo /etc/sysconfig/iptables-save
看有的 大佬的博客 说这种方法每次重启电脑需重新输入一遍,不知是不是真的,感兴趣的小伙伴可以试试。我是用第二种方法打开8080端口的。
2.防火墙
sudo ufw status
sudo ufw enable
sudo ufw allow 8080
先输入第一条命令,如果是active,则直接输入第三条;如果是inactive,就输入第二、三条。 然后转到Tomcat安装目录里,打开终端,输入sh startup.sh。如果启动成功,然后再输入sh shutdown.sh。如果成功关闭,证明Tomcat配置成功,可以再启动Tomcat,打开浏览器,输入localhost:8080,即可看到Tomcat页面。如果在关闭时出现 ./catalina.sh: 1: xxx/jre/bin/java not found 的错误,多半是Java环境配置出错。
三、MySQL
MySQL的安装可以去 MySQL官网 下载其免费的社区版,在Ubuntu下还可以使用命令行安装。
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
我以为它会在安装过程中会跳出设置用户、密码的界面, 然而却并没有。如果忘记密码需重置密码有两种方法:
1.在 /etc/mysql目录下修改mysqld.conf,在这个配置文件处的[mysqld]这里添加skip-grant-tables这句话,然后保存退出,以安全模式进入mysql,然后输入以下命令修改密码:
use mysql;
update user set password=password("<你的密码>") where user="root";
flush privileges;
quit;
再把刚才添加的那句话删掉即可。
2.终端进入/etc/mysql目录,输入
sudo cat debian.cnf
发现有一个debian-sys-maint用户,记住它的密码,然后终端输入:
mysql -u debian-sys-maint -p
输入密码即可进入MySQL,然后修改root用户密码。
然而还没完,修改完成之后,每次必须输入sudo mysql -u root -p才能进入MySQL,根本不能用JDBC操作MySQL,否则会出现ERROR 1689(28000):Access denied for user root@localhost。我也试过诸如:
update user set host = '%' where user = 'root';
grant all privileges on *.* to 'root'@'localhost' identified by '<密码>';
然而这些只是修改远程登录权限或者操作数据库权限,不是本地root权限。所以可以参考这位 大佬的博客 ,也就是进入MySQL后输入以下命令:
use mysql;
update user set authentication_string = password('<密码>') where user = 'root';
flush privileges;
update user set plugin = 'mysql_native_password' where user = 'root';
输入select user, authentical_string from user;可以发现输入的密码已加密,之后无需sudo即可登录MySQL。
四、Ant
Ant安装没什么坑,去 Ant官网 下载安装包,解压至安装目录,然后在/etc/profile配置环境变量:
export ANT_HOME=<安装目录>
export PATH=${ANT_HOME}/bin:$PATH
然后终端输入ant -version,出现版本号即安装成功。
五、Eclipse
Eclipse安装也没啥大坑,在 Eclipse下载页面 下载JavaEE版本或Java开发者版本都行,我下载的是Java开发版本。在Ubuntu下,只要配置好了Java,就可以直接解压使用、编译Java程序。不过,想编译JSP,还需要Tomcat插件。
去 Eclipse tomcat插件官网 下载,可以点击下载图标,复制网址,也可以复制我提供的网址:
https://devtools.his.de/tomcatplugin/updatesite/
在Eclipse界面点击菜单栏help->install new software,输入复制的网址,选中tomcat插件,重启Eclipse之后菜单栏会出现Tomcat,插件即安装完成。然后,在点击window->Preference,找到Tomcat选项,选择对应的Tomcat版本,选择Tomcat目录;再找到Tomcat下的第一个,选择Tomcat的安装目录,然后点击应用即可用Eclipse启动Tomcat。