給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版本
儲備知識 當我們把javaweb專案部署到tomcat中時, 一般來說是沒有原始檔的(.java),而是隻有類檔案(.class) tomcat是servlet容器,負責執行servlet。 眾所周知:jsp實際上就是servlet。那麼我們編寫的jsp
查看Linux、Tomcat、JAVA版本信息
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、Tomcat、JAVA版本資訊
檢視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從測試環境獲取tomcat中java項目新版本發布到生產環境
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包調用這些客
tomcat 與 java 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 工程找不到tomcat類 java.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項目中如果用到大量的圖片、視屏的資源,我們 通常的做法是只在數據庫中存儲圖片、視頻等資
Tomcat之JAVA技術
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最近好多人私信問我,該怎樣才能成為高薪架構師,還有一個就對當前的狀態感到迷茫。我在此做一個簡單的說明,或者對迷茫中的你來說有些許幫助。 當前你感到迷茫嗎? 有很多人對現在的工作感到很沒意思,因為當前的工作,完全是實現業務,技術上沒有任何提高。在這種狀態下就會感到迷茫,特別是一想到將來這種迷茫感就更強烈