1. 程式人生 > >給tomcat配java版本

給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伺服器上面,然後嗨嗨是不是一大堆找不到類啊?

相關推薦

tomcatjava版本

儲備知識 當我們把javaweb專案部署到tomcat中時, 一般來說是沒有原始檔的(.java),而是隻有類檔案(.class) tomcat是servlet容器,負責執行servlet。 眾所周知:jsp實際上就是servlet。那麼我們編寫的jsp

查看Linux、TomcatJAVA版本信息

name 明顯 roo catalina oca boot arc trap oot 查看Linux、Tomcat、JAVA版本信息 1 [root@test1 bin]# cd /usr/local/tomcat/tomcat_jdt/bin/ 2 [root

檢視Linux、TomcatJAVA版本資訊

檢視Linux、Tomcat、JAVA版本資訊 1 [[email protected] bin]# cd /usr/local/tomcat/tomcat_jdt/bin/ 2 [[email protected] bin]# sh version.sh

設定tomcat 預設java版本

設定setclasspath.bat,新增 set JAVA_HOME=D:\program Files\java\jdk1.7.0_79 set JRE_HOME=D:\program Files

利用ansible-playbook從測試環境獲取tomcatjava項目新版本發布到生產環境

java 還在 ack 類型 pro http ignore entry 最新 一、環境描述 安裝有ansible的服務器:192.168.13.45 測試環境服務器:192.168.13.49 /home/app/api-tomcat/webapps/api.war為測試

求出 最長迴文字串 JAVA版本出編碼思想-適用於任何語言】

目的:在任意的字串中求出最長的迴文字串   思路:(適用於任何語言)   1、判斷當前給定的字串是否是相同的字串(也就是所有字元都相同),如果是直接返回了。   2、如果第一步沒有返回,就以非第一個字元為軸,分別求出以它為軸的,雙數迴文字串,

指定tomcat所使用的jdk版本,啟動時報run Tomcat on Java XXX

tomcat 啟動時報 JSR 356 WebSocket (Java WebSocket 1.0) support is not available when runningonJava6. T

kafka----kafka API(java版本

spring mvc+my batis dubbo+zookeerper kafka restful redis分布式緩存 Apache Kafka包含新的Java客戶端,這些新的的客戶端將取代現存的Scala客戶端,但是為了兼容性,它們仍將存在一段時間。可以通過一些單獨的jar包調用這些客

tomcatjava web中url路徑的配置以及使用規則詳情(長期更新)

root 每一個 ava 目錄 clip ima 文件夾 logs 需要 首先我們看一下在myeclipse中建立的java web項目的結構 在這裏我們需要註意這個webroot也就是我們在tomcat裏的webapp裏面的應用 之所以每一個項目都有這個webroot

java版本管理工具

onf alt con 技術 href 環境變量 ini model html maven:   1、下載解壓apache-maven   2、新建環境變量M2_HOME指向maven目錄,並在PATH中加入%M2_HOME%\bin   3、在shell中輸入命令測試ma

javac與java版本不一致

bin 文章 target 變量 runner dsp load adr tar 項目測試時遇到該問題,因為loadRunner不支持jdk1.7,但運行java腳本時提示jdk版本是1.7,實際的JAVA_HOME設置為1.6。 運行javac -version與java

java web 工程找不到tomcatjava.lang.ClassNotFoundException: com.mysql.jdbc.Driver

ood cep 找不到 otf 技術分享 .get http except 分享 ava.lang.ClassNotFoundException: com.mysql.jdbc.Driverat org.apache.catalina.loader.WebappClassL

環境變量配置為jdk8,顯示的java版本為jdk7

系統環境 目前 lan net cnblogs 後來 src rac 是我 經查找發現是jdk版本的問題,我系統環境變量配置的是jdk7,可是這個war包需要在jdk8的環境下運行。於是我就手動將環境變量的jdk7換成jdk8,結果發現依然還是會出現以上問

自己的Java程序員學習路線圖

工具 oracle 操作 jsp 使用 lin java語言 color 業務 如下是我做開發這幾年經常使用一些技術和工具,當然這些技術也都是需要加強的(有些是我一直使用的,不過不深入,有些內部的原理等等不是很清楚) 前端部分: 1)HTML:網頁的核心語言,

Java微信開發-崔用誌-微信開發-java版本

分享 bsp 基本 配置 版本 (九) get java微信 公眾 今天看到一些關於微信開發的知識蠻好的博客,分享給大家,希望對大家有幫助。 微信開發準備(一)--Maven倉庫管理新建WEB項目 微信開發準備(二)--springmvc+mybati

Ubuntu 下 Java 版本的切換

自動 fig root javah aws 多個 編號 進行 update 在Ubuntu中,如果安裝有多個Java版本時(有時候有些軟件自行安裝),怎樣方便的進行切換呢。除了常見的設置環境變量外,今天學到了一種新的切換方法: update-alternatives --c

tomcat配置外部資源路徑(應用場景:web項目訪問圖片視頻等資源)

res apps http pre tomcat配置 div 找到 ces 數據庫服務器 對於一個web項目來說,除了文字之外,圖片,視頻等媒體元素也是其重要的組成部分。我們知道,web項目中如果用到大量的圖片、視屏的資源,我們 通常的做法是只在數據庫中存儲圖片、視頻等資

TomcatJAVA技術

tomcat之java技術 API 應用數據接口 ABI 應用二進制接口java: java 程序設計語言 java API java Class 文件格式 JVM java Vritual MachineJVM的實現方式:一次性解釋器,解釋字節碼並執行;即時編譯器,依賴於更多內

eoLinker-AMS開源版JAVA版本正式發布

ros ref 計劃 服務 python 願望 align 開發 好的 eoLinker-AMS開源版JAVA版本正式發布! 深感廣大開發者的支持與厚愛,我們一直在努力為大家提供更多更好的接口服務。截止至2018年4月3日,eoLinker-AMS 開源版for PHP已經

迷茫的JAVA員一些中肯建議,不然你就廢了

Java最近好多人私信問我,該怎樣才能成為高薪架構師,還有一個就對當前的狀態感到迷茫。我在此做一個簡單的說明,或者對迷茫中的你來說有些許幫助。 當前你感到迷茫嗎? 有很多人對現在的工作感到很沒意思,因為當前的工作,完全是實現業務,技術上沒有任何提高。在這種狀態下就會感到迷茫,特別是一想到將來這種迷茫感就更強烈