Я сделал это, отредактировав путь к классам в /etc/environment
:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" CLASSPATH="/usr/share/tomcat7/lib/servlet-api.jar"
Это выглядит хорошо. PATH
не имеет отношения к конкретной проблеме, хотя. Это никак не использовалось Java. Он используется только платформой операционной системы для поиска исполняемых файлов. CLASSPATH
аналогичен, но используется только Java для поиска классов, которые должны использоваться во время компиляции и / или выполнения.
Ваша проблема, скорее всего, вызвана тем, что вы использовали -cp
или -classpath
аргумент команды javac
. В этом случае переменная окружения CLASSPATH
будет игнорироваться (кстати, это также относится к команде java
, даже если используется аргумент -jar
).
Вам необходимо указать путь к классу только с помощью либо CLASSPATH
переменная среды , либо аргумент -cp
или -classpath
. Общая рекомендация - вообще забыть о переменной окружения CLASSPATH
, поскольку это считается плохой практикой, когда вы хотите сделать немного больше, чем просто "Hello World". Вы можете указать несколько путей в аргументе -cp
или -classpath
, используя :
.
$ cd /path/to/package/root/of/your/servlet/code
$ javac -cp .:/path/to/servlet-api.jar com/example/YourServlet.java
Если вы устали повторять этот ввод каждый раз, просто поместите его в сценарий .sh
, или воспользуйтесь инструментом сборки, таким как Ant, который позволяет конфигурировать файл XML, или просто используйте IDE, например Eclipse, Netbeans или IntelliJ. который сделает все это автоматически, когда вы просто сохраните исходный файл.