2012-01-31 2 views
0

Я новичок в maven, так что это может быть что-то основное, но я наклоняю, похоже, добираюсь до сути.Maven не устанавливает зависимостей

Я бегу m2eclipse. У меня есть простой проект, который пытается использовать классы в пакете maven для servlet-api (group id: javax.servlet artifact: servlet-api версия 2.5 scope: compile).

Мой репозиторий, где я предположил, что его будут вытаскивать из моих настроек.xml (http://repo1.maven.org/maven2). Я следил за этим URL-адресом, чтобы проверить, что на этом адресе была банка и что такое (http://search.maven.org/#browse|-182598336)

Однако, когда я запускаю компилятор mvn: скомпилируйте, я получаю (не может найти символ символ: класс HttpServletRequest)

также я посмотрел в своем хранилище, а банки и помпы, которые должны быть установлены, нет. Другие классы, но это не так.

Я просмотрел информацию об отладке, полученную от -X, и она, похоже, не указала, что что-то не так.

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

благодарит заранее.

+0

Две возможности. Вы находитесь за прокси-сервером. Если это так, настройте соответствующим образом. Другое, предыдущая попытка загрузки не удалась. Если это так, удалите папку '.../javax/servlet/servlet-api/2.5' и повторите попытку. – Raghuram

+0

Попробуйте изменить область действия сервлета с 'compile' на' provided'. –

+0

@ Raghuram, я пошел к тому, что мой ip. com и смог определить, что я не за брандмауэром или прокси. Я также удалил эту папку, и теперь она вообще не кажется DL для этой зависимости вообще. –

ответ

0

Так что я смог решить проблему. Это было немного странно, но, похоже, по-другому действовать, если вы выбираете pom и нажимаете maven -> add Dependance. Это загрузит и установит зависимость.

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

Кажется странным, потому что я не работаю в автономном режиме, я думаю, что, когда я бег mvn compiler:compile из командной строки, что следует уведомление, что ему необходимо для разрешения зависимости а затем пойдите, чтобы получить его из хранилища ...

Возможно, есть настройка, которую я должен hav е, чтобы это произошло?

В любом случае я надеюсь, что это кому-то поможет некоторое время :)