给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版本?(上面给出了缺省值)
既然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版本的主要内容,如果未能解决你的问题,请参考以下文章