特拉维斯不编译项目
问题描述:
我有一个非常简单的应用程序,来编译特拉维斯应用在.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版本,并会阻止每个版本的下载。
我试过你的代码,但它不起作用 https://github.com/salman-/profit-software –
首先你的pom产生警告(参见在你的日志)此外,你似乎无法读取日志文件,因为最后你看到你正在编译代码wi th爪哇8,但在特拉维斯你使用JDK 7,这是行不通的。 – khmarbaise
我改变了POM,现在它没有警告。另外,我可以读取日志,错误是**无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:compile ** –