Наш локальный репозиторий Nexus кажется непоследовательным при загрузке зависимостей. Он стянет помпон и даже проверит банки и т. д., но не основную банку, которая мне нужна! Поэтому, когда я просматриваю индексы в нашем центральном (прокси) репозитории для drools-compiler: org/drools/drools-compiler, я вижу следующие файлы:
- drools-компилятор-6.2.0.CR4-javadoc.jar
- drools-компилятор-6.2.0.CR4-sources.jar
- drools-compiler-6.2.0.CR4-test-sources.jar
- drools-компилятор-6.2.0.CR4-tests.jar
- drools-компилятор-6.2.0.CR4.pom
отсутствующий важный файл:
drools-compiler-6.2.0.CR4.jar
Когда я просматриваю Remote, там есть все, включая ключевую банку.
Когда я запускаю mvn clean install
(через свою IDE STS 3.6.3), я вижу следующее сообщение об ошибке:
Не удалось выполнить цель проекта:
Не удалось разрешить зависимости для проекта:
Не удалось собрать зависимости в org.drools:drools-compiler:jar:6.2.0.CR4:
Не удалось прочитать дескриптор артефакта для org.drools:drools-compiler:jar:6.2.0.CR4:
Не удалось найти org.jboss.dashboard-builder:dashboard-builder-bom:pom:6.2.0.CR4 в кэше локальный репозиторий, повторная попытка разрешения не будет предприниматься до тех пор, пока не истечет интервал обновления nexus или не будут принудительно обновлены
Есть много других зависимостей, которые были удалены в прошлом, репозиторий был там в течение долгого времени (я не настраивал его, просто разбираюсь сейчас!) ... слюни JBoss не единственный раз Я вижу это, это просто моя самая насущная забота сейчас.
Я погуглил, некоторые сообщения кажутся актуальными (этот один почти идентичен, но не решен), но не может найти решение. Удаленная загрузка индексов была настроена на наших локальных прокси-серверах Jboss и Central. Я пытался очистить кеш, перестроить индексы, добавить "-U" к моей команде mvn... но безрезультатно. Единственный раз, когда я могу заставить свой проект собраться, это когда я полностью обхожу свой локальный репозиторий (пустой .m2/settings.xml) и извлекаю прямо из общедоступного Central или JBoss. Кто-нибудь знает, что здесь может происходить неправильно?
ОБНОВЛЕНИЕ: дополнительная информация, которая может помочь: репозиторий 'nexus', определенный как зеркало в моем файле settingsx.xml (ниже), представляет собой групповой репозиторий, состоящий из (в этом порядке):
* Central (http://repo1.maven.org/maven2/)
* общедоступный JBoss (http://repository.jboss.org/nexus/content/groups/public/)
* Репозиторий наших собственных загруженных локальных банок...
Следуя совету @Steve, я копнул глубже, чем отсутствующие файлы компилятора drools, и обнаружил, что org.jboss.dashboard-builder.dashboard-builder-bom... не существует в Central, что интересно, но он существует в JBoss. Насколько я понимаю, используя группу репозиториев, он должен запрашивать следующее репо в списке, если он что-то не находит, верно? Любые советы очень ценятся!
настройки.xml:
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>(local server)/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
POM.xml
<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.mypackage.here</groupId>
<artifactId>TaskLaunchManager</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>TaskLaunchManager</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<app.name>task-launch-manager</app.name>
<log4j.version>1.2.16</log4j.version>
<junit.version>4.8.1</junit.version>
<drools.version>6.2.0.CR4</drools.version>
<slf4j.version>1.7.9</slf4j.version>
</properties>
<!-- Drools Maven BOM (Bill of Materials) -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-bom</artifactId>
<type>pom</type>
<version>${drools.version}</version>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-bom</artifactId>
<type>pom</type>
<version>${drools.version}</version>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Required dependencies -->
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-api</artifactId>
</dependency>
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-internal</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-decisiontables</artifactId>
</dependency>
</dependencies>
</project>
/nexus/content/groups/public
является виртуальным репозиторием, стоит еще раз проверить, существуют ли в нем банки. Возможно, вам просто нужно добавить удаленный репозиторий JBoss в общедоступный виртуальный репозиторий. И всегда стоит зайти на экраны администратора Nexus и запустить переиндексацию. - person Steve   schedule 03.02.2015