Компиляция Java выдает ошибки о библиотеках сервлетов - PullRequest
0 голосов
/ 09 апреля 2011

Я пытаюсь скомпилировать простой класс, который импортирует некоторые библиотеки сервлетов.Поскольку я не добавил каталог tomcat в путь к классам, каков хороший способ сообщить системе, где искать библиотеки сервлетов, которые находятся в папке tomcat / lib?

В настоящее время системапросто выдает такие ошибки:

ackage javax.servlet does not exist
[javac] import javax.servlet.ServletException;

Ответы [ 5 ]

2 голосов
/ 09 апреля 2011

Если вы хотите использовать только инструменты, предоставляемые java, вам придется посмотреть на JavaDocs для инструмента javac и вручную добавить нужные jar-файлы в путь к классам.

Если это не учебное упражнениеи вы пытаетесь сделать это «трудным путем», я бы порекомендовал изучить Maven, Ant или вашу любимую среду IDE, поскольку они будут более полезны в вашей будущей карьере.

1 голос
/ 04 сентября 2013

У меня была такая же проблема в затмении.

Чтобы исправить это,

Щелкните правой кнопкой мыши свой веб-проект в проводнике проекта -> Свойства -> Фасеты проекта -> нажмите ALT + R -> выберите нужный сервер -> Применить -> ОКи готово.

Примечание: я использую Eclipse Helios.

Вы уже должны были добавить сервер в Eclipse. Установка сервера Apache Tomcat в Eclipse

1 голос
/ 09 апреля 2011

То есть вы спрашиваете, как скомпилировать класс сервлета, используя javac?Вам просто нужно поместить зависимости в classpath времени компиляции обычным способом Java.Это не имеет никакого отношения к сервлетам или чему-то другому.

Вы можете сделать это, используя аргумент -cp или -classpath, равный javac.Он принимает разделенную двоеточиями строку (относительных) путей для упаковки корневых папок и файлов JAR.

javac -cp .:/path/to/Tomcat/lib/servlet-api.jar com/example/MyServlet.java

. в пути к классам обозначает текущий каталог.В Windows разделитель пути - это точка с запятой.

1 голос
/ 09 апреля 2011

Если вы используете ecplise, вы можете добавить application server runtime library к вашему пути сборки или Вы можете add jar из другой папки к вашей конфигурации пути сборки Java.

0 голосов
/ 09 апреля 2011

Это зависит от вашей IDE. Каждая хорошая Java IDE предоставляет способ указать дополнительный путь к классу.

Если вы используете Maven в качестве инструмента для сборки, хорошим способом будет указать «предоставленную» область действия для этих библиотек. Они будут использоваться во время компиляции, но не упакованы в финальной войне:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet</artifactId>
    <version>2.1</version>
    <scope>provided</scope>
</dependency>
...