OpenJDK Maven 编译出错: package jdk.nashorn.internal.runtime.logging does not exist

这篇具有很好参考价值的文章主要介绍了OpenJDK Maven 编译出错: package jdk.nashorn.internal.runtime.logging does not exist。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • OpenJDK 1.8.0
  • Maven 3.8.5
  • TencentOS Server 3.1

错误信息

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project tour-common: Compilation failure: Compilation failure: 
[ERROR] /opt/tour-common/src/main/java/com/tour/common/utils/ElasticSearchClientUtil.java:[6,44] package jdk.nashorn.internal.runtime.logging does not exist
[ERROR] /opt/tour-common/src/main/java/com/tour/common/utils/ElasticSearchClientUtil.java:[39,2] cannot find symbol
[ERROR]   symbol: class Logger
[ERROR] -> [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/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :tour-common

分析

缺少 jdk.nashorn.internal.runtime.logging

情况1

OpenJDK中没有nashorn.jar。
jdk.nashorn.internal.runtime.loggingnashorn.jar 中。

解决办法:安装jdk1.8,从jdk的安装目录中找到 nashorn.jar 拷贝到OpenJDK的对应位置。
nashorn.jar%JAVA_HOME%\jre\lib\ext目录。

情况2

JDK的高版本中移除了 nashorn.jar

解决办法:降低版本到jdk1.8。

maven 操作

查看maven使用哪个JDK

shell> mvn -v
Apache Maven 3.8.5 (Red Hat 3.8.5-3)
Maven home: /usr/share/maven
Java version: 17.0.7, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-17-openjdk-17.0.7.0.7-3.tl3.x86_64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.119-19-0009.11", arch: "amd64", family: "unix"

查看JAVA_HOME

shell> echo $JAVA_HOME

设置JAVA_HOME

参考这里。

临时设置JAVA_HOME

shell> export JAVA_HOME=/usr/lib/jvm/TencentKona-8.0.12-352

找到java安装目录

shell> which java
/usr/bin/java
shell> ll /usr/bin/java
lrwxrwxrwx 1 root root 22 Sep 21  2022 /usr/bin/java -> /etc/alternatives/java
shell> ll /etc/alternatives/java
lrwxrwxrwx 1 root root 48 Oct 31  2022 /etc/alternatives/java -> /usr/lib/jvm/TencentKona-8.0.12-352/jre/bin/java
shell> cd /usr/lib/jvm/TencentKona-8.0.12-352
shell> ll
total 51564
-r--r--r--  1 root root     1522 Oct 21  2022 ASSEMBLY_EXCEPTION
drwxr-xr-x  2 root root     4096 Oct 31  2022 bin
drwxr-xr-x  9 root root     4096 Oct 31  2022 demo
drwxr-xr-x  3 root root     4096 Oct 31  2022 include
drwxr-xr-x  4 root root     4096 Oct 31  2022 jre
drwxr-xr-x  3 root root     4096 Oct 31  2022 lib
-r--r--r--  1 root root    19274 Oct 21  2022 LICENSE
drwxr-xr-x  4 root root     4096 Oct 31  2022 man
-rw-r--r--  1 root root       84 Oct 21  2022 release
drwxr-xr-x 10 root root     4096 Oct 31  2022 sample
-rw-r--r--  1 root root 52581093 Oct 21  2022 src.zip
-r--r--r--  1 root root   157063 Oct 21  2022 THIRD_PARTY_README

TencentOS Server 3.1 自带OpenJDK

TencentOS Server 3.1 中带2个OpenJDK

  • openjdk version “1.8.0_352”
  • openjdk 17.0.7 2023-04-18 LTS

切换jdk

设置JAVA_HOME即可

其它

https://blog.csdn.net/wlopper/article/details/119676442
https://blog.csdn.net/qq_36135928/article/details/120190807
https://stackoverflow.com/questions/59126867/jdk-nashorn-internal-ir-annotations-does-not-exist文章来源地址https://www.toymoban.com/news/detail-637977.html

到了这里,关于OpenJDK Maven 编译出错: package jdk.nashorn.internal.runtime.logging does not exist的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • maven在settings.xm和pom.xml中指定jdk版本编译

    maven的settings.xm和pom.xml都可以通过 maven.compiler.source , maven.compiler.target 这两个属性值来指定jdk版本 maven.compiler.source maven.compiler.target 在pom.xml中的位置 在settings.xml中的位置 在spring项目中, 用 java.version 来统一设置 maven的settings.xm和pom.xml也可以通过设定 maven-compiler-plugin 这个插件来

    2024年02月22日
    浏览(9)
  • 低版本jdk运行高版本编译jar包失败(class file version 61.0), this version of the Java Runtime class file 52.0

    低版本jdk运行高版本编译jar包失败(class file version 61.0), this version of the Java Runtime class file 52.0

    省流:使用jdk1.8执行17编译的包,启动报错。         项目运行中难免出现服务器环节集成其它jar包的情况,而其它jar包的jdk版本可能和我们业务项目的jdk版本不一致,如果比我们业务版本低,那么可能不会出现问题, 因为jdk向下兼容,如果jdk版本比我们业务版本高,可能就

    2024年02月02日
    浏览(19)
  • Mac端安装JDK、JDK11、OpenJDK11

    Mac端安装JDK、JDK11、OpenJDK11

    原文链接:Mac端安装JDK、JDK11、OpenJDK11 | Elvin 为了编译JDK,所以才安装JDK ​ macOS Ventura 13.2 ​ 可以有多个JDK,我的本地就有JDK 8,后面会介绍如何无缝切换JDK版本使用 ​ 进入官网:点此进入Oracle官网 ​ 选择需要的对应版本下载,我选择的是mac OS的11版本jdk-11.0.19_macos-x64_bin

    2024年02月16日
    浏览(9)
  • Maven项目打包,出现提示 Lombok 版本和 jdk 的编译器不兼容问题,解决办法。

    Maven项目打包,出现提示 Lombok 版本和 jdk 的编译器不兼容问题,解决办法。

    class lombok.javac.apt.LombokProcessor (in unnamed module @0x7d21852b) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x7d21852b 这些引用都是关于Java编译器插件Lombok的错误信息。Lombok是一个

    2024年02月05日
    浏览(19)
  • openjdk和oracle jdk的区别

    OpenJDK 和 Oracle JDK 都是 Java Development Kit (JDK) 的不同实现,用于开发和运行 Java 应用程序。它们有一些区别,但也有很多相似之处。以下是它们之间的主要区别: 开源性质: OpenJDK 是开源的,由一个社区维护和开发,它的源代码可以在 OpenJDK 项目的网站上找到。这意味着任何人

    2024年02月07日
    浏览(14)
  • centos7卸载自带jdk(openjdk)

    centos7卸载自带jdk(openjdk)

    前提:root模式 1、查看自带jdk 首先确定我们有自带的jdk,然后搜索jdk  2、使用如下命令卸载openjdk 复制带有openjdk的那两行,有的人可能有多行。一条条执行。 最后java -version或rpm -qa | grep jdk看看jdk还在不在

    2024年02月07日
    浏览(12)
  • 加载错误:openjdk:17-jdk-alpine

    加载错误:openjdk:17-jdk-alpine

    问题: 使用 docker build -t ****** . 命令时报错 = ERROR [internal] load metadata for docker.io/library/openjdk:17-jdk-alpine 解决方法: 把Dockerfile文件里的 FROM openjdk:17-jdk-alpine 改为 FROM openjdk:17

    2024年02月16日
    浏览(12)
  • OpenJDK 和 OracleJDK 哪个jdk更好更稳定,正式项目用哪个呢?关注者

    OpenJDK 和 OracleJDK 哪个jdk更好更稳定,正式项目用哪个呢?关注者

    OpenJDK 和 OracleJDK:哪个JDK更好更稳定,正式项目应该使用哪个呢?我会从,从开源性质、更新和支持、功能差异等方面进行比较,如何选择,哪个jdk更好更稳定,正式项目用哪个呢,进行比较回答 本文已收录于,我的技术网站 ddkk.com,有大厂完整面经,工作技术,架构师成长

    2024年01月17日
    浏览(12)
  • K8S运维 解决openjdk:8-jdk-alpine镜像时区和字体问题

    目录 一、问题 二、解决 三、完整代码 一、问题 由于项目的Dockerfile中使用openjdk:8-jdk-alpine作为基础镜像来部署服务,此镜像存在一定问题,例如时差8小时问题,或是由于字体问题导致导出excel文件,图片处理内容为空等。 二、解决 1.解决网络慢的问题 软件源修改为国内清华

    2024年02月03日
    浏览(14)
  • Mac M1芯片编译openjdk报错问题解决

    Mac M1芯片编译openjdk报错问题解决

    使用命令: sudo sh configure --with-target-bits=64 用mac m1芯片编译openjdk一直报错: configure: The tested number of bits in the target (64) differs from the number of bits expected to be found in the target (32) configure: error: Cannot continue. /Users/mac/Documents/jdkcompile/jdk-jdk-11-ga/build/.configure-support/generated-configure.sh: l

    2024年02月22日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包