2015-11-01 86 views
1

有誰知道需要什麼來強制Maven openshift(jbossews)項目使用java 8編譯器而不是java 7編譯器嗎?Openshift Maven項目未能找到java 8編譯器

我想從java 7升級我的項目,所以我改變了我的POM,在編譯器插件中指定了source/target 1.8,在執行插件中指定了1.8.0,並在我的項目中添加了一個java8 .openshift/marker文件。但我看的時候Maven構建啓動時,它仍然說

Java版本:1.7.0_85,供應商:Oracle公司
Java主:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85/jre

..並且構建失敗,並且 remote:檢測到的JDK版本:1.7.0-85不在允許的範圍1.8.0中。

回答

0

您需要將環境變量JAVA_HOME指向JDK8安裝。

+0

我的JAVA_HOME指向/etc/alternatives/java_sdk_1.8.0(這是一個可解析爲/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.51-1.b16.el6_7.i386的鏈接) - 出於某種原因,Maven並沒有選擇那個 –

+0

好吧,'/ usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85'從哪裏來?我剛剛升級到Java 8u65,我只需要更新'JAVA_HOME'以供Maven使用。 當您安裝Maven時,您是否遵循http://maven.apache.org/install.html上的官方說明? – Daniel

+0

我沒有自己安裝maven,我只是使用預裝的。是否有必要安裝我自己的Java版本? –

0

我剛剛將我的應用程序從java7切換到java8成功。我正在使用彈簧啓動的diy墨盒,但我遇到了與您所描述的相同的問題。

我的解決方案在教程中被描述得非常好: http://fabiomaffioletti.me/blog/2015/12/09/openshift-diy-java-8-spring-boot/

他描述了他下載了自己的Maven和java8。但由於java8已經可以在/etc/alternatives/java_sdk_1.8.0下得到,所以我只用下載了自己的maven並使用了它。

預裝maven的問題是,在/ usr/bin/mvn下,java7是硬連線的。所以僅僅將$ JAVA_HOME設置爲java8是不夠的。

相關問題