我有一个非常简单的应用程序,在.travis.yml
的travis中编译应用程序,我有:
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 :(得分:0)
您的travis文件错误:
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版本的矩阵。如果您只需要一个,只需将参数" $ {MAVEN_VERSION}替换为您想要使用的ony ....
此外设置缓存文件夹,如下所示:
cache:
directories:
- $HOME/.m2
这将缓存下载的maven版本,并将阻止每个版本的下载。
答案 1 :(得分:0)
尝试以下方法:
git:
depth: 3
language: java
jdk:
- oraclejdk8
before_install:
- chmod +x mvnw