mac:配置jdk+tomcat+Intellij java web开发环境

安装与配置jdk

去官网下载jdk

先点击 Accept License Agreement,再点击超链接下载mac版
mac:配置jdk+tomcat+Intellij java web开发环境

安装jdk

下载完之后是个 dmg 安装包,根据提示进行安装,安装目录为 /Library/Java/JavaVirtualMachines

配置jdk

在主目录下,编辑 .bash_profile 文件,如果没有,就创建一个,在其中添加以下内容

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

测试jdk

输入 java -version回车,若输出以下内容则表示 jdk 配置成功。这里装的是jdk 1.8.0_191

java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

安装配置tomcat

这里安装是tomcat 9 ,选择 zip 文件,tar.gz 文件打开后不知道原因很多目录无权操作

去官网下载

mac:配置jdk+tomcat+Intellij java web开发环境

安装tomcat

mac 上的 tomcat 与windows 上的不同,不是安装版本的软件。
所以,只需要将 下载的 zip 文件解压缩 并放到 /usr/local 目录下,在这里,我把解压缩后的文件夹名 改成 Tomcat9
完成上述步骤后,可以试着测试一下,

cd /usr/local/Tomcat9/bin
./startup.sh

这个时候,去浏览器打开 localhost:8080 如果能看到 tomcat 的欢迎页,即可

记得 ./shutdown.sh 关闭 tomcat 服务

配置tomcat

1、首先需要修改 Tomcat9 目录的权限,如果不修改可能会一直出问题,包括启动看不到 tomcat 欢迎页,Intellij 无权限操作 log 目录导致无法运行 project 等

sudo chmod -R 777 /usr/local/Tomcat9

网上有说,改成 755 其实就可以了,但是试了几次还是有问题就索性改成 777 了
2、修改 .bash_profile 文件,给 export path 加入 tomcat 的路径

cd 
vi .bash_profile
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH=${PATH}:/usr/local/Tomcat9/bin
export CLASSPATH

3、测试 tomcat 是否配置成功
直接在控制台输入 startup.sh , 输出以下内容,则表示配置成功

Using CATALINA_BASE:   /usr/local/Tomcat9
Using CATALINA_HOME:   /usr/local/Tomcat9
Using CATALINA_TMPDIR: /usr/local/Tomcat9/temp
Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
Using CLASSPATH:       /usr/local/Tomcat9/bin/bootstrap.jar:/usr/local/Tomcat9/bin/tomcat-juli.jar
Tomcat started.

在浏览器查看 localhost:8080 看见tomcat 启动页则表示配置 tomcat 成功。
同样在,在控制台直接输入 shutdown.sh 则可以关闭 tomcat 服务

安装配置 Intellij 与tomcat 服务

安装intellij

这个就不赘述了,网上有很多教程了,还有各路大神教导**(有钱的话还是支持正版)

配置 Intellij 启动 tomcat 服务

点击以下 进行 操作 Run > Edit Configurations 或者直接单击下图的位置

mac:配置jdk+tomcat+Intellij java web开发环境然后点击 图示中 + 号 的位置,添加服务器
mac:配置jdk+tomcat+Intellij java web开发环境
选择 Tomcat > Local
mac:配置jdk+tomcat+Intellij java web开发环境

然后,按照下图中的标记部分,进行以下操作。

  • 首先,起个Name ,可以随便写,但是我感觉是不要跟本地存在的重复就好
  • 其次,启用本地的一个 Application server,我这个是因为之前 操作过几次,第一次操作这一步的时候可能是空的,可以通过 下拉 看有没有本地可用的tomcat,或者通过 后边的 Configure 去检索本地的 Tomcat 的目录,这里我使用的是之前的 /usr/local/Tomcat9 目录
    mac:配置jdk+tomcat+Intellij java web开发环境

有一种情况,如下,在这一步会给一个 warning ,直接单击 Fix 就可以解决,这是因为,Intellij 在 运行 project 时既需要配置 server 还是 Deployment 。
单击 Fixed 之后,会自动创建 Deployment 的 war exploded 配置,关于 war 和 war exploded 的解释,这里有一篇博客链接。配置完毕后,应用、保存配置就可以了

mac:配置jdk+tomcat+Intellij java web开发环境

但是实际上,在我首次进行配置 server 的时候,其实intellij 并没有提示进行 Deployment 配置,我是配置了 server 还是不能如愿启动服务之后,上网查找之后才知道还要配置 Deploymet 。所以在首次,配置Deplyment 的时候,是需要自己手动配置的(我用的是Intellij 2018.2.5,在这之前我用的是MyEclipse 2013 做相关的java 开发,所以不太清楚是不是其他的 intellij 版本也是这样,还是我使用的测试项目原来是个 Myeclipse 2013 打包的 war 的原因。请恕我直言一把,这个骚操作配置过程 真的会比MyEclispe 2013 配置Tomcat 更复杂一些)。
配置 Deployment 过程就是在配置完上述 server 之后,直接点击旁边的 Deployment,依次点击 + > Artifact,按照指引添加 war exploded 的Deployment 配置即可

mac:配置jdk+tomcat+Intellij java web开发环境

附上解决 Intellij 打开 MyEclipse 2013 打包的war文件的解决方案

把这部分写下来的原因是,可能会在以后的开发中遇到,将要对 MyEclipse 开发的项目,或者对 MyEclipse 打包的项目进行二次开发,防止以后遇到同样的 坑 ,所以把当时遇到的一系列问题和使用的解决方法写在 这里
上面提到过,我在首次测试 Intellij + Tomcat 配置的正确性与否时,使用的项目并不是通过 Intellij 创建的一个项目,而是使用的之前用 Myeclipse 2013 开发 并已经打包发布到 aliyun 服务器上的一个 war 包(主要还是图方便),但是通过 Intellij 直接打开 war 包,没有成功(可能是没有找对方法,刚从 MyEclipse 转到 Intellij,如果我没记错的话 MyEclipse 是可以干这件事的,找到方法的欢迎告诉我),于是我就直接把war 包解压缩了,然后再用 Intellij 打开的。
在配置 server 的时候还是挺正常的(当时不知道还要配置 Deploymnet,只配置server 的话 tomcat 服务没有正常启动),在配置Deployment 的时候,点击 + 号之后,并没有上一幅图的 Artifact 选型(感受下挫败感),只有 External Source 选项。尝试性的 点击了一下 External Source ,之后是选择一个目录,然后选择上述 war 包解压缩之后的 项目文件夹(其他文件目录好像不行),应用并确认之后,再运行就可以起来了。
但是没有搞清楚原理(知道的欢迎告诉我),而且这么运行起来没有 热部署(没搞清楚问什么,在进一步了解中,知道的也欢迎告诉我)。

总结与部分提示

  • 兼职 java web 开发工程师,在配置的路上全是坑
  • 在配置 jdk 和 tomcat 的某些部分,可能会出现权限不够,放心大胆的用 sudo 权限尝试