2016-07-09 3 views
-2

У меня есть файл jar, который мне нужно включить в мой проект. Я использую затмение с MavenMaven не находит флягу из Репозитория проекта

Я создал следующую папку в моем проекте на моем компьютере:

/home/robert/eclipse/BobProjects/BobDiary/in_project_maven_repository/metcarob.com.lib/nachocalendar/0.23 

и я поместил там файл под названием:

nachocalendar-0.23.jar 

Затем я добавил к Зависимость от в мой файл ПОМ:

<dependency> 
 
    <groupId>metcarob.com.lib</groupId> 
 
    <artifactId>nachocalendar</artifactId> 
 
    <version>0.23</version> 
 
    <scope>compile</scope> 
 
</dependency>

Я также добавил Repo в мой файл пом:

<repository> 
 
     <id>in-project</id> 
 
     <name>In Project Repo</name> 
 
     <url>file:///home/robert/eclipse/BobProjects/BobDiary/in_project_maven_repository</url> 
 
    </repository>

от того, что я понимаю, что это должно работать. Когда я правая кнопка мыши на моем проекте выберите Запуск и Maven установки я получаю следующее сообщение об ошибке:

[ERROR] Failed to execute goal on project BobDiary: Could not resolve dependencies for project metcarob.com.BobDiary:BobDiary:jar:0.0.1-SNAPSHOT: Failure to find metcarob.com.lib:nachocalendar:jar:0.23 in file:///home/robert/eclipse/BobProjects/BobDiary/in_project_maven_repository was cached in the local repository, resolution will not be reattempted until the update interval of in-project has elapsed or updates are forced -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project BobDiary: Could not resolve dependencies for project metcarob.com.BobDiary:BobDiary:jar:0.0.1-SNAPSHOT: Failure to find metcarob.com.lib:nachocalendar:jar:0.23 in file:///home/robert/eclipse/BobProjects/BobDiary/ 

Я выполнил все шаги, которые я могу видеть для создания в хранилище проекта, но он до сих пор, кажется, не быть в состоянии для поиска файла.

Кто-нибудь знает о шаге, который мне не хватает?

Благодаря Роберт

Обновление: Должно быть, я сделал Mutiple ошибки. Akber нашел мою первую ошибку: Я изменил папку, чтобы идентификатор группы находился в отдельных папках: (metcarob.com.lib теперь metcarob.com.lib) Файл jar теперь находится в: /home/robert/eclipse /BobProjects/BobDiary/in_project_maven_repository/metcarob/com/lib/nachocalendar/0.23

Я проверил это, потому что следующий каталог существует в моей машине: ~/.m2/хранилище/metcarob/ком/Библиотека/nachocalendar/0,23

Я переместил файл, перезапустил затмение и перезапустил maven clean и установил maven.

Ошибка теперь:

[ERROR] Failed to execute goal on project BobDiary: Could not resolve dependencies for project metcarob.com.BobDiary:BobDiary:jar:0.0.1-SNAPSHOT: Failure to find metcarob.com.lib:nachocalendar:jar:0.23 in file:///home/robert/eclipse/BobProjects/BobDiary/in_project_maven_repository was cached in the local repository, resolution will not be reattempted until the update interval of in-project has elapsed or updates are forced -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project BobDiary: Could not resolve dependencies for project metcarob.com.BobDiary:BobDiary:jar:0.0.1-SNAPSHOT: Failure to find metcarob.com.lib:nachocalendar:jar:0.23 in file:///home/robert/eclipse/BobProjects/BobDiary/in_project_maven_repository was cached in the local repository, resolution will not be reattempted until the update interval of in-project has elapsed or updates are forced 

Однако я также поставил этот проект в gitlab и использовать CI скомпилировать его там с помощью команды МВН установить -B Мой проект в настоящее время находит зависимость и компилирует на gitlab CI-сервер.

+1

Возможно, одно из двух: 1) каждая часть идентификатора группы должна быть его собственной папкой. 2) pom.xml зависимости должен существовать в той же папке в репо –

+0

Спасибо. Этот ответ помог увидеть обновление до вопроса – Robert3452

ответ

0

Скорее всего, один из двух проблем:

  1. Каждая часть идентификатору группы должна быть своя папка.
  2. pom.xml зависимости должен существовать в той же папке в репо.
0

вам необходимо установить банку через maven в свое местное репо. maven делает другие вещи, кроме как просто помещая банку в соответствующую папку.

см here

+0

Я не могу запускать команды mvn на своей машине, потому что я использую eclipse версию maven. Я могу использовать команды mvn для моей сборки gitlab CI, и это просто работает с командой mvn install -B, и поскольку это совершенно новый экземпляр doker, я не думаю, что дополнительные шаги должны быть необходимы. – Robert3452

+0

так? в чем проблема? вы можете определить свои аргументы с помощью eclipse версии maven. это тоже работает! это официальный и единственный способ. другой способ - установить их где-то еще, а затем скопировать папку, созданную в вашу локальную папку на другом компьютере. – Apostolos

+0

все они действительны в контексте создания локального репо внутри проекта, за исключением обычного репозитория .m2. – Apostolos

0

Чтобы исправить это я должен был:

  1. Изменение структуры каталогов. У меня был идентификатор группы «metcarob.com.lib», и это было как один каталог. Мне пришлось изменить это на 3 каталога. metcarob/com/lib

  2. Я ушел из затмения, удалил каталог ~/.m2 и перезапустил eclipse. Когда я сделал сборку, она построила отлично.

    Комментарий Akber был ключевым, но я не могу отметить комментарий как правильный, чтобы дать ему кредит.

Спасибо всем за помощь

+0

Это неправильный способ установки зависимостей. вы не просто создаете свои собственные папки и ставите банки. это то, что устанавливает maven – Apostolos

+0

Чтобы помочь другим, я сделал это в ответ. –

Смежные вопросы