2016-08-30 5 views
0

У меня есть проект Maven, импортированный из Eclipse, где зависимости заданы в области provided. Когда проект развертывается, банки разворачиваются так, чтобы работать нормально.Использовать путь к классам нескольких модулей в IntelliJ IDEA

При разработке, однако, я использую «проект отладки», который вызывает проект Maven, и когда он запускается, я получаю кучу ошибок класса Not Found, когда для зависимостей Maven установлено значение provided.

Если я изменю область зависимостей Maven до Compile, тогда проект отлично работает.

Если я изменю область зависимостей до compile, это изменит результат проекта? т. е. добавить кучу банок? Это было бы нежелательно.

Я также попытался изменить параметры конфигурации отладки и указал проект Maven в «Использовать путь к модулю модуля», но тогда файлы проекта отладки не найдены.

Как указать путь к классам как проекта Maven, так и проекта отладки, чтобы классы из обоих проектов, включая зависимости, находились в пути к классам?

Спасибо!

ответ

0

Есть 3 типа рамки зависимостей: компиляции, тестирования, и при условии,

  1. компиляции: библиотека зависимостей будет использоваться на всех этапах: компиляции, тестирования и запуска,
  2. тест: зависимость библиотека будет использоваться только в тесте
  3. при условии: библиотека зависимостей будет использоваться только для компиляции и тестирования, но во время выполнения библиотека зависимостей должна быть предоставлена ​​контейнером, иначе она будет бросать класс без проблем поиска.

Проблемы, связанные с тем, что при запуске проекта вы не предоставили библиотеку зависимостей в среде выполнения (контейнере).

надеюсь, что это может помочь вам

+0

Можете ли вы уточнить, «вы не предоставили библиотеку зависимостей в среде выполнения»? – isapir

+0

, например, когда мы разрабатываем сеть, зависимость в ящике Servlet, мы можем установить ее, поскольку контейнер (такой как Jboss) будет предоставлен сервлет. – Eric

+0

Я понимаю разные области, но я пытаюсь найти решение, которое будет работать в IntelliJ IDEA с учетом ограничений в вопросе выше. – isapir

0

Как импортировать проект в идее? Если проект открывается как проект Maven, он должен работать нестандартно. Можете ли вы попробовать открыть проект, выбрав pom.xml?

+0

Проект Maven построенный прекрасный. Проект отладки не является проектом Maven. Он был импортирован из модели проекта Eclipse. – isapir

+0

Идея поддерживает maven очень хорошо, так что вам нужно: избавиться от настроек проекта Idea * .iml и .idea /, а затем открыть проект, выбрав pom.xml, НЕ импортируйте из модели проекта Eclipse. – summer