Невозможно определить, почему зависимость pom. xml считается недействительной. - PullRequest
3 голосов
/ 26 марта 2020

Работа с закрытым исходным кодом. Некоторые зависимости хранятся в локальном (например, в моей файловой системе) репозитории maven, который отображается в моем главном проекте pom.xml, например:

<repository>
    <!-- Embed mvn repo with non-public dependencies -->    
    <id>myproj.local</id>
    <url>file:${basedir}/src/repo</url>
    <name>MyProj Embedded Repo</name>
    <releases>
        <updatePolicy>always</updatePolicy>
    </releases>
    <snapshots>
        <updatePolicy>always</updatePolicy>
    </snapshots>
</repository>

Это работало нормально до сегодняшнего дня, когда я добавил новый jar файл во встроенный репозиторий под src/repo/com/hidden/v2/some-api/1.5.0/some-api-1.5.0.jar и новый pom ручной работы под src/repo/com/hidden/v2/some-api/1.5.0/some-api-1.5.0.pom.

Теперь мой код собирается и работает нормально, но я постоянно получаю эту ошибку от maven и не могу понять, почему:

[WARNING] The POM for com.hidden.v2:some-api:jar:1.5.0 is invalid, transitive dependencies (if any) will not be available: 2 problems were encountered while building the effective model for :some-api:1.5.0
[ERROR] 'groupId' is missing. @ [unknown-group-id]:some-api:1.5.0
[ERROR] 'dependencies.dependency.version' for javax.servlet:servlet-api:jar is missing. @ [unknown-group-id]:some-api:1.5.0

Кажется, в моем пользовательском файле pom есть поля, которые предположительно отсутствуют:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.hidden.v2</groupId>
  <artifactId>some-api</artifactId>
  <version>1.5.0</version>

  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <!-- <scope>provided</scope> -->
      <version>2.5</version>
    </dependency>
  </dependencies>
</project>
...