编译JSP类-java和tomcat之间的错误工作流

编译JSP类-java和tomcat之间的错误工作流,java,jsp,javac,Java,Jsp,Javac,我在eclipse中做一个JSP网页/应用程序。因为我对它有一些问题,所以我想进行更改,所以我将文件(*.java和*.jsp)备份到另一个文件夹,而忘记了eclipse 在eclipse中构建:OK 现在,为了在不使用eclipse的情况下编译代码,我做了如下操作: javac -d ./Server/WEB-INF/classes/ ./src/tfg/lti/Config/TextFileWorker.java javac -d ./Server/WEB-INF/classes/ -cp

我在eclipse中做一个JSP网页/应用程序。因为我对它有一些问题,所以我想进行更改,所以我将文件(*.java和*.jsp)备份到另一个文件夹,而忘记了eclipse

在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
使用我的代码生成: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)
然后,基于,我尝试构建它更改目标,类似这样(对所有文件):

注意:选择目标版本只是为了尝试,不知道什么值应该是正确的

问题1:因为我以前是用eclipse构建它的,所以我不知道以前使用的是哪个目标,但我认为它应该使用最后一个(1.7)。现在我不明白为什么不是。我想是项目设置吧

然后,当再次构建它时,我得到了下一个错误:

javac: target release 1.5 conflicts with default source release 1.7
所以现在,基于,javac中添加了一个
-source 1.5
,如下所示:

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
最后,基于并“了解到”如果我确定我没有使用新SDK中的任何东西,我可以忽略此警告

因为我不是,所以我不想忽略它,但仍然不知道eclipse是如何构建我的项目的,我应该如何构建它才能在我的tomcat服务器上再次运行它

一些数据:
Tomcat服务器:版本6
JavaJDK:1.75
java-版本输出:

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告诉我的,我正在用JDK7构建它,并用JDK6运行它。但我不知道它是如何工作的,所以我不得不去寻找它

首先,我注意到了这一点。但是,正如您所看到的,他们使用较旧的版本编译,但我使用较旧的版本执行

然后,基于,我将JAVA_HOME(甚至没有在
/etc/default/tomcat6
文件中设置)修改为JDK7。为此,我向文件中添加:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_75
然后重新启动tomcat(6)


完成了这些更改后,它终于起作用了。

您在JDK 6上运行时正在使用JDK 7进行编译。我有点困惑。你怎么知道我在JDK 6上运行?(顺便说一句,在JDK上运行?它不是在JSE上运行吗?我认为JSE也是版本7)。你是说我在使用JDK7编译,而tomcat使用JDK6?即使这样,使用JDK6作为目标进行编译也应该可以解决这个问题,但是如果我使用-target 1.6,它就不能像我预期的那样工作。我理解错了什么?(我想有很多事情……)
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_75