Maven зависимость странная ошибка - PullRequest
0 голосов
/ 15 января 2019

У меня есть 4 проекта в моей рабочей области Eclipse. Все они 4 проекта Maven. Имена: API, Games, Faction, Board.

API используется во всех других проектах maven (Games, Faction, Board) и сам по себе зависит от банки в моем компьютере, а также от HikariCP.

Я объявляю эти зависимости в моем API pom.xml

<dependency>
  <groupId>org.github.paperspigot</groupId>
  <artifactId>paperspigot-api</artifactId>
  <version>1.7.10-R0.1-SNAPSHOT</version>
  <scope>system</scope>
  <systemPath>${basedir}\lib\paperspigot-1.7.10-R0.1-SNAPSHOT.jar</systemPath>
</dependency>

<dependency>
  <groupId>com.zaxxer</groupId>
  <artifactId>HikariCP</artifactId>
  <version>2.7.8</version>
  <scope>compile</scope>
</dependency>

Затем я заявляю о 3 других моих проектах, которые зависят от API

<dependency>
  <groupId>net.onima</groupId>
  <artifactId>onimaapi</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <scope>compile</scope>
</dependency>

Но у меня есть большое предупреждение об API, и в журнале ошибок написано следующее:

Я не понимаю, почему возникает эта ошибка, поскольку я могу программировать с помощью API в моих классах. Может кто-нибудь объяснить мне? Спасибо

РЕДАКТИРОВАТЬ: По запросу текст скриншота:
Описание Путь к ресурсу Тип местоположения В проекте «OnimaAPI» отсутствует необходимый Java-проект: «aperspigot »OnimaAPI Путь сборки Проблема пути сборки


Описание Путь к ресурсу Тип местоположения В проекте 'OnimaGames' отсутствует необходимый Java-проект: 'onimaapi' OnimaGames Путь сборки Путь к сборке Проблема

Я не знаю, почему я не могу установить pom.xml здесь, так что вот ссылка: https://ghostbin.com/paste/r4u62

1 Ответ

0 голосов
/ 15 января 2019

Вы объявляете paperspigot с system областью действия.

<dependency>
  <groupId>org.github.paperspigot</groupId>
  <artifactId>paperspigot-api</artifactId>
  <version>1.7.10-R0.1-SNAPSHOT</version>
  <scope>system</scope>
  <systemPath>${basedir}\lib\paperspigot-1.7.10-R0.1-SNAPSHOT.jar</systemPath>
</dependency>

Зависимости с системой областей видимости всегда доступны и не ищутся в репозитории. Обычно они используются, чтобы сообщить Maven о зависимостях, предоставляемых JDK или виртуальной машиной.

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#System_Dependencies

Вы должны объявить это с compile scope:

Это область по умолчанию, используемая, если ни одна не указана. Зависимости компиляции доступны во всех classpath проекта. Кроме того, эти зависимости распространяются на зависимые проекты.

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