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>
все работало нормально.