无效的目标版本1.8

4

我尝试在OPENSHIFT上部署我的应用程序,但是maven编译时出现错误:

无效的目标版本1.8

我的“build”操作钩子:

export JAVA_HOME="${OPENSHIFT_DATA_DIR}jdk1.8.0_05"
export PATH=${OPENSHIFT_DATA_DIR}jdk1.8.0_05/bin:$PATH
cd $OPENSHIFT_REPO_DIR
java -version
mvn package -s .openshift/settings.xml -DskipTests=true

结果

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
[devlt-chernihiv.rhcloud.com repo]\> mvn package -s .openshift/settings.xml -DskipTests=true
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building LaserTag 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ sector ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ sector ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 5 source files to /var/lib/openshift/5601634589f5cfa11000006a/app-root/runtime/repo/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.018s
[INFO] Finished at: Tue Sep 22 11:27:06 EDT 2015
[INFO] Final Memory: 10M/113M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project sector: Fatal error compiling: invalid target release: 1.8 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

然后我使用这个脚本并发现了问题:
export JAVA_HOME=${OPENSHIFT_DATA_DIR}jdk1.8.0_05
export PATH=${OPENSHIFT_DATA_DIR}jdk1.8.0_05/bin:$PATH
java -version

Java版本号为"1.8.0_05"

Java(TM) SE运行环境版本为1.8.0_05-b13

Java HotSpot(TM) 64位服务器虚拟机版本为25.5-b02,支持混合模式。

mvn --version | grep 'Java home'

Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85/jre

Java Home已更改,但Maven忽略了新的Java Home。请帮忙解决。


你的 ${HOME}/.mavenrcMAVEN_OPTS 都写了什么? - khmarbaise
3个回答

4

您可以使用WildFly货架。该货架具有您所需的全部内容,包括Java8、Spring Boot触发器和管理面板。


您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Nikita Vlasenko

1
你应该尝试在项目的.openshift/markers文件夹中使用java8标记,这样可以帮助maven使用正确的版本。这是假设你正在使用标准的java cartridge而不是DIY cartridge。

在OpenShift标记选择器中,我只有Java7标记。 - Ihor Manachin
我创建了Java8标记,但没有起作用,有什么建议吗? - Nikita Vlasenko
你也移除了Java7标记吗?如果没有,因为我相信该标记首先被处理,所以该cartridge仍将使用Java 7。 - user2879327

0

看起来你的mvn命令正在设置它自己的JAVA_HOME。检查'mvn'的内容以查看它在做什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接