Как добавить недостающие библиотеки maven в Jetty - PullRequest
3 голосов
/ 06 марта 2012

Я пытаюсь запустить проект maven, который всегда запускал вручную в Tomcat, в Jetty.Для этого я использую maven-jetty-plugin.

При выполнении jetty: run Кажется, что все идет хорошо, за исключением того факта, что Jetty не находит зависимости, определенные в POM.

Если я запускаю причал: война, война строится правильно, используя зависимости, так что это работает.Почему Jetty: запустить, не включая мои библиотеки в WEB-INF / lib (или где-либо еще)?

Ответы [ 4 ]

1 голос
/ 25 июля 2012

Если вам нужна зависимость для Jetty, которая находится не в главном репозитории Maven, добавьте следующее:

<pluginRepositories>
    <pluginRepository>
        <id>repo-id</id>
        <url>http://my_other_repo.edu</url>
    </pluginRepository>
</pluginRepositories>

Я не верю, что Jetty будет использовать существующие репозитории в вашем POM.

0 голосов
/ 14 ноября 2013

Для меня в репо был один файл .jar, который Eclipse не собирал.Я не выяснил, как это исправить в Eclipse, поэтому моя работа была в том, чтобы ...

  1. Добавить дубликат файла .jar в репозиторий под другим groupId (другой путь в ~ / .m2) с помощью этой команды:

    mvn install: install-file -Dfile = dhcp4java-1.0.0.jar -DgroupId = a_abc.hack -DartifactId = dhcp4java -Dversion = 1.0.0-Dpackaging = jar

  2. Ссылка на новый groupId, который требует только обновления этой записи для зависимости в pom.xml:

    a_abc.hack

0 голосов
/ 07 марта 2012

Под "зависимостями" вы подразумеваете другие проекты?

Если это так, вам нужно будет установить (mvn: install) их в локальный репозиторий, прежде чем Jetty: run увидит их.

Возможно, что jetty: war упаковывает их и помещает в папку lib без установки в локальный репозиторий.

0 голосов
/ 06 марта 2012

Это действительно зависит от зависимостей, которые вы определили. Например, если вы определили ресурс JNDI в своем файле jetty.xml, вам понадобится зависимость jetty-plus. Однако вам понадобится эта зависимость только для выполнения плагина. Плагины могут иметь <dependencies/>, и это то место, где вам нужно его определить.

Если у вас есть список классов, специфичных для Jetty, которые плагин не может найти, лучший способ найти зависимости - это использовать сайт, подобный www.jarvana.com.

...