Эта ошибка Maven полностью меня отключила, поэтому я мог бы воспользоваться некоторой помощью. У меня есть проект, который объявляющий в-проекта репо, как это:In-project Maven Repository, вызывающий ошибки зависимостей
<parent>
<groupId>ca.gc.agr.common</groupId>
<artifactId>drydock-parent</artifactId>
<relativePath>../DryDockPOM/pom.xml</relativePath>
</parent>
<artifactId>CognosReportService</artifactId>
<packaging>jar</packaging>
<version>2.0</version>
<name>CognosReportService</name>
<!-- In Project repository -->
<repositories>
<repository>
<id>in-project</id>
<name>In Project Repo</name>
<url>file://${project.basedir}/libs</url>
</repository>
</repositories>
<dependencies>
... stuff ...
<dependency>
<groupId>cognos-sdk</groupId>
<artifactId>cognos-client</artifactId>
<version>8.4.1</version>
</dependency>
<dependency>
<groupId>cognos-sdk</groupId>
<artifactId>cognos-axis</artifactId>
<version>8.4.1</version>
</dependency>
... stuff ...
</dependencies>
Там есть еще один проект, который использует этот вроде так:
<parent>
<groupId>ca.gc.agr.common</groupId>
<artifactId>common-web-parent</artifactId>
<relativePath>../DryDockWebPOM/pom.xml</relativePath>
</parent>
<artifactId>CognosReportWeb</artifactId>
<packaging>jar</packaging>
<version>2.0</version>
<name>CognosReportWeb</name>
<dependencies>
... stuff ....
<dependency>
<groupId>ca.gc.agr.common</groupId>
<artifactId>CognosReportService</artifactId>
<version>[1.0,)</version>
</dependency>
... stuff ....
</dependencies>
Если я до родительского проекта и сделать a mvn install
оттуда, все работает. Однако, если я пытаюсь построить CognosReportWeb
сам по себе, я получаю это:
[ERROR] Failed to execute goal on project CognosReportWeb: Could not resolve dependencies for project ca.gc.agr.common:CognosReportWeb:jar:2.0:
Failed to collect dependencies for [ca.gc.agr.common:CognosReportService:jar:[1.0,) (compile),
ca.gc.agr.common:CommonWebJar:jar:[1.0,) (compile),
org.apache.tomcat:tomcat-servlet-api:jar:7.0.16 (provided),
javax.servlet.jsp:jsp-api:jar:2.2 (provided),
javax.el:el-api:jar:2.2 (provided),
org.glassfish.web:el-impl:jar:2.2 (provided),
com.sun.faces:jsf-api:jar:2.1.7 (compile),
com.sun.faces:jsf-impl:jar:2.1.7 (compile),
org.apache.myfaces.tomahawk:tomahawk20:jar:1.1.10 (compile),
org.richfaces:richfaces-bom:pom:4.2.0.Final (compile),
org.richfaces.ui:richfaces-components-ui:jar:4.2.0.Final (compile),
org.richfaces.core:richfaces-core-impl:jar:4.2.0.Final (compile),
org.primefaces:primefaces:jar:5.0 (compile),
org.springframework:spring-web:jar:4.0.0.RELEASE (compile),
com.cybozu.labs:langdetect:jar:1.1-20120112 (compile),
org.apache.myfaces.test:myfaces-test20:jar:1.0.7 (test),
org.aspectj:aspectjweaver:jar:1.7.4 (compile),
org.springframework:spring-context:jar:4.0.0.RELEASE (compile),
org.springframework:spring-aspects:jar:4.0.0.RELEASE (compile),
org.springframework:spring-tx:jar:4.0.0.RELEASE (compile),
org.springframework:spring-test:jar:4.0.0.RELEASE (compile),
org.springframework:spring-orm:jar:4.0.0.RELEASE (compile),
org.springframework:spring-oxm:jar:4.0.0.RELEASE (compile),
org.springframework:spring-jdbc:jar:4.0.0.RELEASE (compile),
org.hibernate:hibernate-core:jar:4.1.7.Final (compile),
commons-io:commons-io:jar:1.3.2 (compile),
commons-lang:commons-lang:jar:2.4 (compile),
commons-beanutils:commons-beanutils:jar:1.8.3 (compile),
commons-validator:commons-validator:jar:1.3.1 (compile),
log4j:log4j:jar:1.2.17 (compile),
org.slf4j:slf4j-log4j12:jar:1.7.6 (compile),
junit:junit:jar:4.11 (compile),
junit-addons:junit-addons:jar:1.4 (compile),
com.googlecode.log4jdbc:log4jdbc:jar:1.2 (compile),
org.reflections:reflections:jar:0.9.9-RC1 (compile),
oro:oro:jar:2.0.8 (compile),
dbunit:dbunit:jar:2.1 (compile),
com.h2database:h2:jar:1.3.175 (compile)]:
Failed to read artifact descriptor for org.aspectj:aspectjweaver:jar:1.8.0.M1:
Could not transfer artifact org.aspectj:aspectjweaver:pom:1.8.0.M1 from/to in-project (file://${project.basedir}/libs):
Repository path /libs does not exist, and cannot be created. -> [Help 1]
На первый взгляд, кажется, что есть проблема с org.aspectj:aspectjweaver:pom:1.8.0.M1
, но я, если я закомментировать свою собственную в-проекте репо в CognosReportService
(и переустановить), внезапно CognosReportWeb
начинает работать.
Я действительно в тупике. Я делаю что-то неправильно?
Любые идеи были бы оценены!
Причина использования дополнительного репо заключается в том, что я могу использовать некоторые сторонние банки в качестве зависимостей maven. Я не могу придумать другой способ убедиться, что люди могут запустить сборку Maven после проверки моего источника, без необходимости вручную вставлять эти банки в свое местное репо. –
@ValBlant [Почему это плохая идея для передачи Java-файлов jar в репозиторий] (http://stackoverflow.com/questions/4649015/java-jar-files-into-a-repository-cvs-svn). –