Используя IDEA с maven2, как добавить не maven .jar? - PullRequest
4 голосов
/ 14 июля 2010

У меня есть файл .jar, который я хочу включить в проект моего веб-приложения IDEA, в котором используется maven2 (pom.xml).

Как добавить файл .jar в проект, который не использует maven

Ответы [ 5 ]

6 голосов
/ 14 июля 2010

Обычно у вас есть три варианта:

  • Установите JAR в локальный репозиторий, используя install:install-file (см. Руководство по установке сторонних JAR ).Это довольно просто и легко, но это сделает ваш POM непереносимым.Это может быть вариант, если вы один и не планируете распространять ваш pom.xml.

  • Разверните jar-файл в корпоративном хранилище, используя deploy:deploy-file.Это, конечно, идеальный и предпочтительный сценарий в корпоративной среде.

  • Если вы не используете корпоративный репозиторий, но все еще работаете в команде, настройте файловый репозиторий и поделитесь им через ваш исходный репозиторий.

6 голосов
/ 14 июля 2010

Проще всего использовать maven:install-file для установки jar в локальном хранилище, как показано ниже (украдено из документов :

mvn install:install-file -Dfile=path-to-non-maven.jar \
                      -DgroupId=some-id \
                      -DartifactId=some-artifact \
                      -Dversion=some-version \
                      -Dpackaging=jar

Затем добавьте его в свой POM, каклюбая другая зависимость. Если ей нужно поделиться со многими людьми, вы можете рассмотреть возможность создания локального экземпляра чего-то вроде Nexus или Artifactory (мы используем Artifactory, где я работаю, и это работаетхорошо).

5 голосов
/ 29 ноября 2016

Google addjars Плагин Maven - хорошая идея.Это можно сделать, выполнив следующие действия:

  1. Добавить все зависимости в lib кодовую базу папки.

  2. Добавить плагин Google Addjars в <build>

    <plugin>
            <groupId>com.googlecode.addjars-maven-plugin</groupId>
            <artifactId>addjars-maven-plugin</artifactId>
            <version>1.0.5</version>
            <executions>
                <execution>
                    <goals>
                        <goal>add-jars</goal>
                    </goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>${basedir}/lib</directory>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    
  3. mvn compile теперь создаст локальное хранилище и добавит все банки в качестве зависимостей.mvn compile будет работать как шарм.

  4. Чтобы разрешить идее разрешить зависимости, перейдите в module settings -> modules -> dependencies добавить папку lib.

Ссылка: https://code.google.com/archive/p/addjars-maven-plugin/issues

0 голосов
/ 14 июля 2010

maven install: install-file идеально подходит для добавления локального JAR-файла в ваши кэши, но если вы используете хранилище извне (например, Archiva или Nexus), то вам лучше сделать его доступным для всех с помощью " mvn deploy: deploy-file "- аналогичные аргументы для этой команды.

Установка только локально означает, что если вы по какой-то причине очищаете свой локальный кеш (я заканчивал тем, что делал это несколько раз, чтобы решить ту или иную проблему с поврежденным локальным кешем), то вы также теряете локальный JAR и нужно помнить, чтобы добавить его снова. Если он находится в локальном репозитории DSL через Nexus или Archiva, вы в хорошей форме - просто добавьте получившийся groupId, artifactId в POM и продолжайте.

0 голосов
/ 14 июля 2010

Пытаюсь угадать, в чем вопрос:

1) У вас есть проект maven A с jar foo.jar
2) У вас есть не-maven проект B, в котором вы хотите использовать тот же jar (без использования maven)
3) Вы на окнах?

Если это правда, то:

Возьмите банку с c:\documents and settings\your_username\.m2\name_of_jar, и вставьте ее в каталог WEB-INF / lib проекта B

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...