Как добавить внешнюю папку, содержащую несколько банок, в сборку maven для веб-приложения?

Я использую intellij с сервером tomcat для развертывания моего весеннего приложения mvc, у меня есть еще 3-сторонние банки (10), которые я хотел бы добавить их в файл войны, упаковывая его с помощью maven, есть ли способ сказать maven -> Включить все эти банки в эту папку?


person USer22999299    schedule 20.05.2016    source источник
comment
Не делайте этого - Maven на самом деле не для этого. Перечислите каждую банку отдельно и получите их из центра maven или где-то подобного, а не с вашего жесткого диска. Ваш подход не будет работать в команде и не будет работать для будущих разработчиков. Если у вас нет команды, вы не заботитесь о будущем и не хотите следовать стандартному способу ведения дел maven, то, возможно, вам не следует использовать maven.   -  person Software Engineer    schedule 20.05.2016
comment
проблема в том, что я использую eBay SDK, я не нашел его ни в одном репо, кроме выпусков ebay.   -  person USer22999299    schedule 20.05.2016


Ответы (2)


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

<dependency>
          <groupId>sun.jdk</groupId>
          <artifactId>tools</artifactId>
          <version>1.5.0</version>
          <scope>system</scope>
          <systemPath>${java.home}/../lib/tools.jar</systemPath>
        </dependency>

см.: Maven: системные зависимости

person KlajdPaja    schedule 20.05.2016
comment
Вам всегда следует избегать использования подобных системных зависимостей, они не переносимы и обычно не работают в команде. - person Software Engineer; 20.05.2016
comment
Все еще есть проблема, при создании проекта и запуске его с помощью tomcat кажется, что maven не копирует файлы jar в папку target\xxx-sanpshot\web-inf\lib, только при копировании файлов вручную он работает, любой другой решение, как заставить maven копировать файлы jar в целевую папку? - person USer22999299; 23.05.2016
comment
В этом случае см. здесь сборку Maven 2 с зависимостями : jar в области «система» не включен, возможно, вы получите предложение @EngineerDollery (установите зависимости в локальном репозитории!!!) - person KlajdPaja; 23.05.2016
comment
Я делал это, создал локальное репо, развернул внешние банки в папку локального репо @KLajdPaja, но при развертывании файла войны я не вижу банки eBay во вложенной папке lib под целью (я вижу все весенние jars там) только при ручном копировании файлов jar в папку lib, она работает, есть идеи, как я могу заставить maven упаковать локальное репо в файл войны? - person USer22999299; 24.05.2016
comment
Это странно, потому что maven для сгенерированных войн копирует все зависимости, если область не определена как указано - person KlajdPaja; 24.05.2016

SDK ebay находится на bintray.

<dependency>
  <groupId>com.ebay</groupId>
  <artifactId>sdk</artifactId>
  <version>883</version>
  <type>pom</type>
</dependency>
person Software Engineer    schedule 20.05.2016
comment
Спасибо, но проблема в том, что версия 995 отсутствует по адресу go.developer.ebay.com/javasdk но не в bintray.. к сожалению, кажется, что eBay не поддерживает там версии, как следует.. - person USer22999299; 22.05.2016