2016-12-22 132 views
1

我有一個非常簡單的應用程序,來編譯特拉維斯應用在.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

回答

0

你特拉維斯文件是錯誤的:

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 ** –