Исключение сервлета в Java - PullRequest
2 голосов
/ 29 октября 2010

Я импортировал проект Java (файл войны) в затмение. Когда я попытался запустить его, я получил следующую ошибку:

java.lang.Error: Unresolved compilation problems: 
The type List is not generic; it cannot be parameterized with arguments <User>
Syntax error, parameterized types are only available if source level is 5.0

Я пытался гуглить. Я обнаружил, что должен изменить настройки соответствия. Я изменил уровень соответствия компилятора до 5, но это не решило проблему. Кто-нибудь может помочь мне решить эту проблему? Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 29 октября 2010

Есть две вещи, о которых вам, возможно, придется позаботиться.

  1. Настройка компилятора.
  2. Настройка времени выполнения.

Полагаю, вы должны были позаботиться о (1). То, что вы, возможно, пропустили, является вторым. Когда вы попытаетесь запустить этот военный файл, перейдите в «Запуск от имени» -> «Запустить настройки». Там вы можете выбрать версию Java. Я предполагаю, что это место, где у вас возникла проблема. Попробуйте установить его на Java 1.5 или выше.

http://img638.imageshack.us/img638/8845/runconfig.jpg

1 голос
/ 29 октября 2010

Проверьте версию Java для вашего контейнера сервлета. Вы можете проверить версию Java в оболочке, набрав

java -version

Если это не 1.5+, укажите соответствующий JDK более высокой версии.

0 голосов
/ 29 октября 2010

Первым шагом к решению этой проблемы является полное игнорирование подсказки «-source 1.5 для включения обобщений». Это сообщение никуда вас не приведет! Причина в том, что он исходит из компилятора javac, в то время как вам необходимо настроить JSP-компилятор jasper. Это, к счастью, довольно легко, хотя поиск на сайте Tomcat довольно запутанный. Все, что вам нужно сделать, это отредактировать ваш TOMCAT_INSTALL \ conf \ web.xml. Добавьте в org.apache.jasper.servlet.JspServlet следующие строки

<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.5</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.5</param-value>
</init-param>

такой, что сервлет выглядит примерно так:

[web.xml]

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>compilerSourceVM</param-name>
        <param-value>1.5</param-value>
    </init-param>
    <init-param>
        <param-name>compilerTargetVM</param-name>
        <param-value>1.5</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>

Вы настроили свой JSP-сервер Tomcat ... Настройка Eclipse В EE-редакции Eclipse есть приятная функция, позволяющая вам создать динамический веб-проект - по сути, разобранный файл войны, управлять экземпляром сервера и настраивать отладку. Удобно, если вы знаете, как это работает. В основном то, что делает стандартная установка, это то, что он копирует файлы конфигурации Tomcat из вашего установочного каталога по неясному пути, похожему на c: \ workspace.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ conf \ Следует понимать, что он довольно часто копирует файлы из установленного каталога Tomcat, поэтому редактирование файла web.xml в этом каталоге, как указано выше, будет работать только в течение короткого времени.

Вы также можете попробовать отредактировать файл web.xml в проекте «Серверы», который Eclipse устанавливает при настройке первого сервера. Мне было очень трудно заставить Eclipse собирать изменения в этом файле ..

Вместо этого просто удалите экземпляр сервера и заново создайте его. Ваши изменения будут приняты, и вы готовы к работе!

0 голосов
/ 29 октября 2010

Эта война где-то использует «дженерики». и дженерики доступны только с Java 5 и выше, вот ошибка говорит

пожалуйста, проверьте ваш уровень компилятора Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...