Какая зависимость POM позволила бы Maven найти этот JAR?

#java #maven #mockito

#java #maven #mockito

Вопрос:

Я пытаюсь импортировать Mockito в проект Maven Java. Для сборки мне нужно использовать артефакты в репозитории Maven моих компаний.

К счастью, я нахожу артефакт Mockito в репозитории:

 [my-company]/org/mockito/mockito-all/1.8.0/mockito-all-1.8.0-jvm15.jar.
  

Если я добавлю следующую зависимость к моему POM:

 <dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
     <version>1.8.0-jvm15</version>
</dependency>
  

затем maven пытается найти jar в несуществующем каталоге:

 [my-company]/org/mockito/mockito-all/1.8.0-jvm15/mockito-all-1.8.0-jvm15.jar
  

Если я удалю -jvm15 , вот так:

 <dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
     <version>1.8.0</version>
</dependency>
  

затем (естественно) maven пытается найти несуществующий jar в нужном каталоге:

 [my-company]/org/mockito/mockito-all/1.8.0/mockito-all-1.8.0.jar
  

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

Ответ №1:

Часть после версии называется классификатором. Попробуйте это:

 <dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>1.8.0</version>
    <classifier>jvm15</classifier>
</dependency>
  

Ответ №2:

Добавьте тег классификатора —

 <dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
     <version>1.8.0</version>
     <classifier>jvm15</classifier>
</dependency>
  

Комментарии:

1. Совершенно верно. Я часто поддерживаю более одного ответа, но опоздание на 5 минут — это слишком много, чтобы получить оценку за точно такой же ответ.