给tomcat配java版本

Posted 小熊vip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给tomcat配java版本相关的知识,希望对你有一定的参考价值。

储备知识

当我们把javaweb项目部署到tomcat中时,
一般来说是没有源文件的(.java),而是只有类文件(.class)
tomcat是servlet容器,负责执行servlet。

众所周知:jsp实际上就是servlet。那么我们编写的jsp页面最终在访问的时候
都会预编译为Servlet(源文件和目标文件都有,work目录下)。

可以尝试:安装tomcat和jre(不是jdk)。竟然可以执行jsp页面,
也就是说jsp到servlet的转化和servlet源文件到.class文件的编译在
只有jre的情况下竟然完成了。所以可以断定,编译过程是tomcat内置
的一个编译环境。那么这个编译级别是怎么样的呢?jdk1.6?还是jdk1.7?

我拿两个tomcat版本查看后发现(\\conf\\web.xml):
1. tomcat7.*

compilerSourceVM    Compiler source VM. [1.6]                      
compilerTargetVM    Compiler target VM. [1.6]                      

2 . tomcat8.*

compilerSourceVM    Compiler source VM. [1.7]
compilerTargetVM    Compiler target VM. [1.7]

稍微解释一下这两个参数:
1. compilerSourceVM:编译源文件时采用那个JDK版本?(上面指出了缺省值)
2. compilerTargetVM:运行类文件时采用那个JDK版本?(上面给出了缺省值)

参考:
http://zm8.sm-img2.com/?src=http%3A%2F%2Fyoyo.is-programmer.com%2Fposts%2F13166.html&uid=2f5668707a1b02af6f519213098ab4f7&hid=c045dc490621a3bd2fd665ff3f88c93e&pos=5&cid=9&time=1455440494614&from=click&restype=1&pagetype=0000004000000402&bu=news_natural&query=%E8%AE%BE%E7%BD%AEtomcat+jsp%E7%BC%96%E8%AF%91jdk%E7%89%88%E6%9C%AC&mode=&uc_param_str=dnntnwvepffrgibijbprsvpi

既然jsp最后都是由tomcat版本决定编译和运行时采用的jdk版本。
那么项目里的纯java代码呢?这个就需要自己在外部编译好最好打包到tomcat中。
编译的工具很多,比如ant,maven等等。

给tomcat配置jdk

我没有听错吧,tomcat还能配置jdk版本。除去tomcat编译jsp的那个配置不算。
我们一般都是先安装jdk,再安装tomcat。项目运行的时候,不就是采用的安装的
jdk的版本吗?

确实如此,不过我们还是可以配置的。一般像上面那样理解起来比较好,JDK和Tomcat单独安装,不需要怎么配置,java环境自然使用的是安装的jdk。

不过在我们开发的时候有时候就是会吃编译和运行版本的亏。
例如我们在myeclipse集成开发环境中一般会使用自己安装的jdk和tomcat。
我们也推荐这么做,但是大部分人都只是觉得自己是在用自己的jdk和tomcat,其实不然。

我们将自己的tomcat导入myeclipse中设置为enable,以为就万事大吉了。
但是我们其实还可以配置下面选项列表中的其它一些参数,比如说JDK。
点开一看大多数情况下会惊奇的发现使用的是myeclipse中默认的JDK,并不是我们安装的JDK。这种不了解有时候会造成一些看似诡异实则有因的问题。

好了我们配置好JDK就可以了【如果知道maven,我们其实还可以在maven中设置编译和运行环境,不需要在Tomcat上折腾】。

至于那个诡异的问题不是那么轻易就能碰到的,这里我人为搞一个。
比如你Tomcat使用的JDK版本是1.7(运行),然后你的项目编译环境是1.8的,你把编译好的项目放到Tomcat服务器上面,然后嗨嗨是不是一大堆找不到类啊?

以上是关于给tomcat配java版本的主要内容,如果未能解决你的问题,请参考以下文章

jdk1.8 tomcat配哪个版本

jdk8支持tomcat9吗

JDK TOMCAT MYSQL 配置

在myEclipse里配置tomcat怎么配啊

JavaWeb连接不上数据库?

tomcat 内存大小配置