簡體   English   中英

編譯JSP類 - java和tomcat之間的錯誤工作流

[英]Compile JSP classes - A workflow of errors between java and tomcat

我在eclipse中做了一個JSP網頁/應用程序。 由於我有一些問題,我想改變,所以我將我的文件(* .java和* .jsp)備份到另一個文件夾,忘記了eclipse。

Builds in eclipse: OK

現在,要在不使用eclipse的情況下編譯我的代碼,我會這樣做:

javac -d ./Server/WEB-INF/classes/ ./src/tfg/lti/Config/TextFileWorker.java

javac -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/ ./src/tfg/lti/Config/Setup.java

javac -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/ ./src/tfg/lti/UI/Painter.java

Builds with my code: OK

但是,如果我嘗試在Web瀏覽器上打開我的應用程序,我會從Tomcat獲得:

Estado HTTP 500 -

type Informe de Excepción

mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción

javax.servlet.ServletException: java.lang.UnsupportedClassVersionError: tfg/lti/UI/Painter : Unsupported major.minor version 51.0 (no puedo cargar clase tfg.lti.UI.Painter)

翻譯西班牙語部分:

Status HTTP 500 -

type exception report

message

description The server found an internal error () that made it couldn't fill this requeriment

exception

javax.servlet.ServletException: java.lang.UnsupportedClassVersionError: tfg/lti/UI/Painter : Unsupported major.minor version 51.0 (can not load the class tfg.lti.UI.Painter)

然后,根據如何修復java.lang.UnsupportedClassVersionError:不支持的major.minor版本 ,我嘗試構建它來更改目標,類似這樣(對所有文件):

javac -target 1.5 -d ./Server/WEB-INF/classes/ ./src/tfg/lti/Config/TextFileWorker.java

Notice: the target version was choosen just to try, didn't know what value should be correct

問題1:因為我以前用eclipse構建它,我不知道以前使用過哪個目標,但我認為它應該使用最后一個(1.7)。 現在我不明白為什么不是。 項目設置我猜?

然后,當再次構建它時,我得到了下一個錯誤:

javac: target release 1.5 conflicts with default source release 1.7

所以現在,基於Topic,請看最后的答案 ,一個-source 1.5被添加到javac,有類似的東西:

javac -source 1.5 -target 1.5 -d ./Server/WEB-INF/classes/ ./src/tfg/lti/Config/TextFileWorker.java

但后來,我得到了最后一個錯誤:

warning: [options] bootstrap class path not set in conjunction with -source 1.5
1 warning

所以最后,基於bootstrap類路徑沒有與-source 1.6 3一起設置 ,並“學習”如果我確定我沒有使用新SDK中的任何內容,我可以忽略此警告。

因為我不是,我不想忽略它,但仍然不知道eclipse如何構建我的項目,我應該如何構建它以便能夠在我的tomcat服務器上再次運行它

一些數據: Tomcat server: version 6 Java JDK: 1.75 java -version output:

java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) Server VM (build 24.75-b04, mixed mode)

我終於設法解決了。 正如SMA告訴我的那樣,我正在使用JDK 7構建它,並使用JDK6運行它。 但我不知道它是如何工作的,所以我不得不尋找它。

首先,我設法注意到使用Unsupported major.minor版本51.0 但是,正如您可以看到他們使用舊版本進行編譯,但我使用舊版本執行它。

然后,基於更改Tomcat使用的JDK ,我將JAVA_HOME(它甚至沒有在/etc/default/tomcat6文件上設置)修改為JDK7。 為此,我添加到文件:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_75

然后重啟tomcat(6)。

完成這些更改后,它終於奏效了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM