Работа с закрытым исходным кодом. Некоторые зависимости хранятся в локальном (например, в моей файловой системе) репозитории 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>