Правильно ли, что datanucleus-db4o определяет свою собственную зависимость с конкретным номером версии? Это хороший способ?
Я не уверен, что понял вопрос ... Во всяком случае, действительно, что-то не так с зависимостью db4o:db4o
артефакта datanucleus-db4o: он недоступен ни в центральном Maven, ни в хранилище DataNucleus . Я не понимаю, как пользователи должны использовать артефакт datanucleus-db4o.
Я скачал более новую версию db4o и добавил ее в classpath. Maven продолжает писать о пропавшем артефакте.
Не уверен, что именно вы сделали, но, возможно, сработает следующее: исключите зависимость, которая не может быть разрешена, и замените ее каким-либо эквивалентом из репозитория db4o.
<dependencies>
...
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-db4o</artifactId>
<version>2.1.1</version>
<type>jar</type>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>db4o</groupId>
<artifactId>db4o</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.db4o</groupId>
<artifactId>db4o-full-java5</artifactId>
<version>7.12-SNAPSHOT</version>
</dependency>
</dependencies>
<repositories>
...
<repository>
<id>db4o</id>
<url>https://source.db4o.com/maven</url>
</repository>
</repositories>
Понятия не имею, сработает ли это, конечно.
Также у меня возникают ошибки NoClassDefFound при запуске приложения. Это приводит меня к другому вопросу:
Не могу сказать, так как вы не опубликовали ошибку. Но попробуйте описанное выше.