我们的本地Nexus存储库在下载依赖项方面似乎不一致。它会拉下pom,甚至测试罐子......但不是我需要的主要实际罐子!所以当我浏览我们的中央(代理)存储库上的drools-compiler:org / drools / drools-compiler的索引时,我看到以下文件:
缺少的关键文件是:
滴料编译-6.2.0.CR4.jar
当我浏览遥控器时,一切都在那里,包括关键的罐子。
当我运行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 in缓存在本地存储库中,在nexus的更新间隔已经过去或强制更新之前,不会重新尝试解析< / em>的
过去有很多其他的依赖项已被删除,存储库已存在很长时间了(我没有设置它,只是现在处理!)... JBoss drools不是我唯一一次看到这一点,现在只是我最紧迫的问题。
我用谷歌搜索过,有些帖子看似相关,(one几乎相同但未解决)但似乎无法找到解决方案。已在我们的本地Jboss和Central代理中设置远程索引下载。我已经尝试清除缓存,重建索引,在我的mvn命令中添加“-U”......但无济于事。我唯一能够构建我的项目的时候是我完全绕过我的本地存储库(空.m2 / settings.xml)并直接从Central或JBoss public。有没有人对这里可能出现的问题有所了解?
更新:
更多细节可能会有所帮助:
在我的settingx.xml(下面)中定义为镜像的存储库'nexus'是一个Group Repository,由(按此顺序)组成:
*中央(http://repo1.maven.org/maven2/)
* JBoss public(http://repository.jboss.org/nexus/content/groups/public/)
*回收我们自己上传的本地罐子......
按照@Steve的建议,我比缺少的drools编译器文件挖得更深,发现org.jboss.dashboard-builder.dashboard-builder-bom ...在Central中不存在,有趣的是,它确实存在在JBoss。我的理解是,通过使用Repos组,它应该查询列表中的下一个回购,如果找不到的话,对吧?任何建议最受赞赏!
的settings.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>
答案 0 :(得分:5)
好的,问题解决了!它花了几个步骤,其中一些在stackoverflow的其他地方被提到并且已经尝试过但没有成功,但订单真的很重要: