Обработка пакета Java-сервлета 'javax.servlet' не найдена - PullRequest
2 голосов
/ 11 января 2011

Не очень распространенная реализация, но использование Processing в качестве сервлета Java обсуждалось в предыдущих статьях ранее ( 1 , 2 ). Я занимался разработкой программы для обработки в качестве сервлета Java. Однако, когда у меня есть код (например, как в первом связанном примере) в эскизе Обработка, я получаю сообщение об ошибке

The package 'javax.servlet' does not exist.  You might be missing a library.

У меня служба Tomcat 5.5, запущенная на XP, и мои переменные среды следующие:

CLASSPATH = C:\tomcat\common\lib\servlet-api.jar
CATALINA_HOME = C:\tomcat
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_21
JRE_HOME  = C:\Program Files\Java\jre6

Я пытался выяснить, почему пакеты javax.servlet не распознаются процессингом в течение многих часов, и в сети нет ничего, что могло бы дать объяснение, кроме исправления переменных среды для распознавания библиотек tomcat. Я также пытался поместить файлы servlet-api.jar и jsp-api.jar в процессинг в качестве специальной библиотеки обработки, но они там не распознаются, ни когда я пытаюсь запустить программу в папке tomcat / webapps .

Я тоже пробовал

javap -classpath my;class;path javax.servlet.Servlet

на cmd, и это выдало мне ту же ошибку.

Я пока не очень хорош в Tomcat, поэтому, пожалуйста, прости меня, если это результат моей незнакомости. Если бы кто-то более знающий, чем я, мог бы пролить свет на то, почему Processing не может распознать этот пакет, это было бы потрясающе. Большое спасибо ~

Ответы [ 5 ]

1 голос
/ 13 января 2011

CLASSPATH = C: \ tomcat \ common \ lib \ servlet-api.jar

Это проблема. Ваш classpath должен быть на один уровень выше, т.е.

CLASSPATH = C: \ tomcat \ common \ lib \

Это должно работать нормально.

0 голосов
/ 06 апреля 2018

Возможно, потому что Tomcat отсутствует в пути сборки Java. Попробуйте добавить Tomcat в вашу библиотеку

1) Щелкните правой кнопкой мыши папку вашего проекта> Путь сборки > Настройка пути сборки

2) Нажмите вкладка "Библиотека" > нажмите Кнопка Добавить библиотеку

3) Выберите Время работы сервера > нажмите Кнопка «Далее»

4) Выберите свой сервер> нажмите Кнопка Готово

0 голосов
/ 23 января 2017

Хорошо! .. Я купил новый ноутбук и столкнулся с той же проблемой, я надеюсь, что это решит проблему и на вашем устройстве с Windows 10.

Прежде всего, знайте, что ошибка просто из-за неправильного или неполного пути или пути к классам. После установки Tomcat и JDK установите переменную среды следующим образом (расположение может отличаться в зависимости от вашей установки):

JAVA_HOME = C: \ Program Files (x86) \ Java \ jdk1.7.0_80

JRE_HOME = C: \ Program Files (x86) \ Java \ jre7

CATALINA_HOME = C: \ Program Files (x86) \ Apache Software Foundation \ Tomcat 7.0

PATH = C: \ Program Files (x86) \ Java \ jdk1.7.0_80 \ bin; C: \ Program Files (x86) \ Apache Software Foundation \ Tomcat 7.0 \ bin;

CLASSPATH = C: \ Program Files (x86) \ Apache Software Foundation \ Tomcat 7.0 \ lib \ servlet-api.jar; C: \ Program Files (x86) \ Java \ jdk1.7.0_80 \ lib \ tools.jar; JAVA_HOME \ Lib

убедитесь, что ваш classpath направляет упомянутые файлы jar, поскольку в него включен javax (попробуйте использовать winrar для проверки внутреннего содержимого).

После сохранения настроек протестируйте с помощью javap javax.servlet.Servlet

Что ж, если у вас все еще есть проблемы, поделитесь сообщением об ошибке и снимком экрана.

0 голосов
/ 21 сентября 2016

Если вы не можете загрузить пакет сервлета, попробуйте установить для переменной среды CLASSPATH значение.; C: \ tomcat \ common \ lib \ servlet-api.jar. Это должно помочь.

0 голосов
/ 19 ноября 2013

Щелкните правой кнопкой мыши MyComputer-> Properties-> Advanced-> Variables ->

Установите имя новой пользовательской переменной в качестве classpath и укажите значение переменной, в которой находится файл servlet-api.jar (применимо)для веб-сервера tomcat), например: ->

имя переменной: classpath

значение переменной: D: \ Tomcat \ lib \ servlet-api.jar

Теперь вы можете запуститьдизассемблер, чтобы узнать класс сервлета и информацию об интерфейсе

...