У меня есть проект document-scanner-aggregator, который работает нормально локально при запуске с Maven 3.1.1, то есть ~/apache-maven-3.1.1/bin/mvn clean install
, но не on travis-ci.org, где он обнаруживает Maven 3.2.5, который подозрительно является версией, предоставленной travis-ci.org. Однако он не должен этого делать, потому что предполагается, что версия Maven, которая запускает сборку, будет принудительно соблюдена, верно?Почему maven-enforcer-plugin обнаруживает maven 3.2.5, когда он запускается с 3.1.1 на travis-ci.org?
Неудача
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireMavenVersion failed with message:
Detected Maven Version: 3.2.5 is not in the allowed range (,3.2).
...
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4:enforce (enforce-versions) on project javaocr-parent: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]
и конфигурация
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<!--different rules for different issues-->
<!--3.3.x causes `java.lang.NoClassDefFoundError: org/eclipse/aether/spi/connector/Transfer$State` which is caused by certain maven versions, see https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound for details-->
<version>(,3.3)</version>
<!--3.2.x causes `No implementation for org.eclipse.aether.connector.wagon.WagonConfigurator was bound.`-->
<version>(,3.2)</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
в javaocr.
.travis.yml
является
language: java
install:
- wget http://mirrors.ae-online.de/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz && tar xf apache-maven-3.1.1-bin.tar.gz
- apache-maven-3.1.1/bin/mvn clean install
Удивительный! '.travis.yml' делает это. Я рекомендую отредактировать ответ, чтобы быстрее добираться до важной информации, так как у меня есть чувство, что я не буду последним, что затушевывает это. –