2015-04-14 5 views
12

È possibile specificare la versione secondaria del JDK per i lavori in esecuzione su Travis? Ho un progetto JavaFX che non funziona perché JDK 1.8.0_31 viene utilizzato per eseguire la build dove il progetto utilizza alcune classi che sono state fornite solo in Java 1.8.0_40 (in particolare Alert e Spinner).È possibile specificare la versione jdk minore per travis ci

Attualmente il mio file .travis.yml appare come di seguito:

language: java 

jdk: 
    - oraclejdk8 

Ecco un link al failed build nel caso in cui è utile.

+0

sto affrontando lo stesso problema. La soluzione più semplice che vedo è accettare il contratto con l'utente finale di Oracles, scaricare il file .tar.gz dal loro sito, decomprimerlo, impostare '$ JAVA_HOME' e usarlo per creare. Attualmente sto cercando di ottenere openjfx in esecuzione su Ubuntu 12.04 (questo è ciò che sta usando Travis). Finora ho trovato solo openjdk, il pacchetto openjfx sembra essere situato da qualche altra parte. Sto ancora indagando su – michaeln

risposta

5

Finalmente ho funzionato. Questa soluzione non è raccomandata in quanto utilizza linuxbrew per installare Oracle JDK 8.0_40. Grazie a zrcoder on Github ho finito con questo .travis.yml:

language: java 

branches: 
    only: 
    - master 

notifications: 
    email: false 

before_install: 
    - rm -rf ~/.linuxbrew 
    - yes | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)" 
    - export PATH="$HOME/.linuxbrew/bin:$PATH" 
    - export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH" 
    - export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH" 
    - brew install jdk 
    - export JAVA_HOME=/home/travis/.linuxbrew/Cellar/jdk/1.8.0-40 

Anche se questo funziona, Travis-CI dovrebbe essere aggiornato entro il mese prossimo, in modo da aggiornare il config per tempi di costruzione più brevi.

6

Questa soluzione basata su apt addon opere per me:

language: java 

jdk: 
    - oraclejdk8 

addons: 
    apt: 
    packages: 
     - oracle-java8-installer 

In conseguenza ho java version "1.8.0_91". La fonte della soluzione è here

+0

Questo installerà l'ultima versione disponibile, non una versione specifica. – ShabbyDoo

-1

Si consiglia di utilizzare l'IC Trusty build environment di Travis CI che utilizza un software più recente rispetto all'ambiente Precise predefinito. È più veloce e più affidabile rispetto al download del JDK più recente su ogni build.

basta aggiungere il seguente al livello superiore di .travis.yml

dist: trusty 
+0

La versione specifica di JDK utilizzata cambierà nel tempo man mano che Travis CI aggiorna le sue linee di base – ShabbyDoo