特拉维斯不编译项目

问题描述:

我有一个非常简单的应用程序,来编译特拉维斯应用在.travis.yml,我有:特拉维斯不编译项目

git: 
    depth: 3 
language: java 
jdk: 
    - oraclejdk8 

script: mvn clean install 

我已经在本地机器上尝试了命令mvn clean install,它建立成功的应用程序,但它失败的Travis有以下错误:

$ javac -J-Xmx32m -version 
javac 1.8.0_31 
3.01s$ ./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V 
/home/travis/build.sh: line 218: ./mvnw: Permission denied 
The command "eval ./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V" failed. Retrying, 2 of 3. 
/home/travis/build.sh: line 218: ./mvnw: Permission denied 
The command "eval ./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V" failed. Retrying, 3 of 3. 
/home/travis/build.sh: line 218: ./mvnw: Permission denied 
The command "eval ./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V" failed 3 times. 
The command "./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V" failed and exited with 126 during . 
Your build has been stopped. 

那么,什么是错的?

我用java spring mvc

你特拉维斯文件是错误的:

env: 
    - MAVEN_VERSION=3.2.5 
    - MAVEN_VERSION=3.3.9 
install: 
    - "mvn -N io.takari:maven:wrapper -Dmaven=${MAVEN_VERSION}" 
    - "./mvnw --show-version --errors --batch-mode test-compile dependency:go-offline" 
script: "./mvnw --show-version --errors --batch-mode -Prun-its clean verify" 

这将运行一个矩阵有两个版本的行家。如果你只需要一个单一的一个只需更换参数“$ {} MAVEN_VERSION与ONY你想用....

而且设置你的缓存文件夹是这样的:

cache: 
    directories: 
    - $HOME/.m2 

这将缓存也下载的Maven版本,并会阻止每个版本的下载。

+0

我试过你的代码,但它不起作用 https://github.com/salman-/profit-software –

+0

首先你的pom产生警告(参见在你的日志)此外,你似乎无法读取日志文件,因为最后你看到你正在编译代码wi th爪哇8,但在特拉维斯你使用JDK 7,这是行不通的。 – khmarbaise

+0

我改变了POM,现在它没有警告。另外,我可以读取日志,错误是**无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:compile ** –