Eclipse m2eclipse получает зависимости от локального хранилища

На моем компьютере установлены локальные зависимости (~/.m2/repository/blah/blah/blah), и m2eclipse не распознает их, так как там - я думаю, что m2eclipse использует свой собственный экземпляр maven. Есть ли способ заставить m2eclipse использовать локальную установку maven в osx?

Ответы

Ответ 1

У меня была такая же проблема, и это то, что сработало для меня. Использование Eclipse Indigo:

Windows- > Показать вид- > Другое

В всплывающем окне: Maven- > Репозитории Maven

Как только появится представление, щелкните правой кнопкой мыши на соответствующем репо и выберите "Восстановить индекс"

Подождите несколько секунд и сделайте это!

Ответ 2

У меня есть зависимости, установленные локально на моей машине (~/.m2/repository/blah/blah/blah), а m2eclipse не распознает их там.

Есть ли у них хорошие метаданные? Как вы их установили? Поскольку m2eclipse определенно использует ваш локальный репозиторий для разрешения зависимостей.

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

Да, m2eclipse по умолчанию использует свою собственную версию Maven, и вы можете добавить внешнюю установку через Окно > Настройки > Maven > Установки, но это ничего не изменит в локальном репозитории, используемом одним или другой, который вы можете настроить через Окно > Настройки > Maven > Настройки пользователя, как показано ниже:

alt text http://www.imagebanana.com/img/w5y2vevt/screenshot_008.png

Это вернет нам вопросы: как вы "установили" проблемные зависимости?

Ответ 3

Вы можете изменить используемый экземпляр Maven в Windows- > Preferences- > Maven- > Installations. Но я не уверен, поможет ли это в качестве комментария ниже этого параметра, в котором говорится, что разрешение зависимостей будет выполняться с внутренней установкой Maven.

Если бы я был вами, я бы попытался добавить этот локальный репозиторий в список известных репозиториев. Используйте Window- > Show View- > Maven репозитории (это печально не видно в настройках).

Ответ 4

Убедитесь, что фляга установлена ​​правильно. Maven не дает ошибку, когда вы указываете неправильный путь к банке при установке в локальный репозиторий. Jgravatar.jar не был в моем каталоге, когда я выполнил приведенную ниже команду.

mvn install:install-file -Dfile=~/jgravatar.jar -DgroupId=jgravatar -DartifactId=jgravatar -Dversion=06292012 -Dpackaging=jar

[INFO] Installing /Users/steve/~/jgravatar.jar to /Users/steve/.m2/repository/jgravatar/jgravatar/06292012/jgravatar-06292012.jar
[INFO] Installing /var/folders/gz/gjyqtkzj3ys8lpmh_38qvmn00000gq/T/mvninstall2662938607942511865.pom to /Users/steve/.m2/repository/jgravatar/jgravatar/06292012/jgravatar-06292012.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

Ответ 5

Я получал то же самое. Я добавил JAR в локальный репозиторий через команду install-file. Я подтвердил, что они установлены. Я восстановил индекс. Я пошел в каталог и осмотрел файл JAR с помощью 7Zip, но я не смог заставить его появляться в Maven Dependencies внутри моего проекта eclipse.

Для меня решение было довольно глупым. Когда я добавил зависимость в pom.xml с помощью редактора зависимостей, Maven бросил в XML блок-таблицу. Таким образом, запись XML выглядела так:

    <dependency>
        <groupId>slf4j</groupId>
        <artifactId>jdk14</artifactId>
        <version>1.5.8</version>
        <type>JAR</type>
    </dependency>

Когда я удалил последнюю строфу "JAR" и сделал запись:

    <dependency>
        <groupId>slf4j</groupId>
        <artifactId>jdk14</artifactId>
        <version>1.5.8</version>
    </dependency>

все работало нормально.