当前位置: 首页 > news >正文

站酷高高手wordpress图片页

站酷高高手,wordpress图片页,大连市建设厅网站,wordpress爬虫采集项目从jdk8升级到jdk17#xff0c;我不是为了追求java 17的新特性#xff08;准确来说也还没有去了解有什么新特性#xff09;#xff0c;也不是为了准确与时俱进#xff0c;永远走在java行列的最前端#xff0c;纯粹因为项目需要#xff0c;因为我们都知道#xff0c;… 项目从jdk8升级到jdk17我不是为了追求java 17的新特性准确来说也还没有去了解有什么新特性也不是为了准确与时俱进永远走在java行列的最前端纯粹因为项目需要因为我们都知道只要项目能跑你就不要动它 目录 背景目标环境安装Java 17下载方式一方式二 配置环境变量与java8共存 SpringBoot3.0.0Maven 3.6.3Idea 2022.2.1下载安装 配置IDEA和项目 java17环境IDEA中Maven设置IDEA环境配置Setting设置Project Structure设置 问题处理运行项目出现 无效的源发行版: 17hibernate unknownERROR StatusLogger Unable to create Lookup for ctxjava.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not presentswagger替换为openapi后会有报错flyway问题动态数据源问题 最后 背景 Java 程序员应该都熟悉下面这句话 版本任他发我用 Java 8 。自从 2014 年 3 月 Java SE 8.0(1.8.0)发布到现在已经是第九年21 年 9 月 Java SE 17(LTS)也已经发布但绝大部分 Java 开发人员依然使用 1.8 版本。懒惰是其中的一方面原因生产环境稳定大于一切的压力之下既然 Java8 已经表现很好没有什么问题那么也就没有必要冒险去做版本升级了毕竟“升级”在很多情况下都意味着工作量和风险。 不过在今年之后这个情况发生了变化。由于厂商纷纷宣布即将停止 1.8 版本的更新维护Oracle 于 2019 年 1 月停止商用用途中的更新2020 年 12 月停止非商用版本更新AdoptOpenJDK 于 2023 年 9 月或之前停止更新Amazon Corretto 于 2023 年 6 月或之前停止更新。意味着 23 年 9 月之后将不再有厂商继续更新 Java 8。 2014年发布的java SE 8和2017年发布的java EE 8至今还是使用最广泛的java版本大部分java开发者对于java 8之后的升级总是敬而远之这跟java 9以后的破坏性升级和oracle的商用协议有关但随着9月java 17的发布我们有更多理由去升级和在新项目中使用更新的java了。 目标 本次操作是mac版本下的 Java 8 应用升级到 Java 17SpringBoot 版本升级到 SpringBoot3.0.0推荐的 Java 17 开发环境包括Maven 3.6.3、Idea 2022.2.1 环境安装 Java 17 下载 方式一 下载链接JDK开发工具包17.0.9下载 要选择对应的版本去下载比如我mac在左上角的苹果标志直接点击弹出菜单点击“关于本机”确认一下本机电脑的CPU是Intel还是ARM。 如果是Intel点击“x64 DMG Installer”的右边网址或者选择 macOS 下的 ARM64 DMG适用于苹果芯片如 M1、M2 等 我的是M2所以如上图 按照步骤直接默认选项安装即可。 方式二 在 mac 下也可以使用 sdkman 来安装 jdk 和 maven 其实我一开始是使用的此方法但是由于那会网络一直不稳定最后还是使用的方法一 命令行执行下面操作即可sdk 相关命令可以使用 sdk help 查看 curl -s https://get.sdkman.io | bashsdk install java 22.3.r17-grl sdk install maven 3.8.2下载中截图 由于我网络不稳定出现如下报错 Installing script cli archive... * Downloading... curl: (28) Failed to connect to github.com port 443 after 75015 ms: Couldnt connect to servercurl --fail --location --progress-bar ${SDKMAN_SERVICE}/broker/download/sdkman/install/${SDKMAN_VERSION}/${SDKMAN_PLATFORM} $sdkman_zip_file: command failed with exit code 28.然后我就再次执行命令 curl -s https://get.sdkman.io | bash结果提示已经存在可以强制更新 算了我还是卸载重新安装吧 rm -rf $HOME/.sdkman再次执行上面的安装命令 继续有报错出来 touch: /Users/myName/.bash_profile: Permission denied touch $sdkman_bash_profile: command failed with exit code 1.可以看到上面报错是要修改.bash_profile文件我们可以自己修改 vim ~/.bash_profile在.bash_profile文件最后一行加上下面内容 export SDKMAN_CANDIDATES_APIhttps://api.sdkman.io/2 [[ -s $HOME/.sdkman/bin/sdkman-init.sh ]] source $HOME/.sdkman/bin/sdkman-init.sh然后执行 source ~/.bash_profile下载jdk17 sdk install java 22.3.r17-grl下载中 我到这里又出现了下载超时的问题了心里一万只跑过啊于是我果断去用了方式一 配置环境变量与java8共存 由于之前也是一直使用java8所以下载安装完java17后可以看下java版本是否有变 还是java8因为我们的环境还是没有变我的是.bash_profile文件 先看看下载的jdk17在不在默认下载的目录/Library/Java/JavaVirtualMachines 接下来就是更换环境变量使用jdk17了如下 vim ~/.bash_profile增加如下内容 export JAVA_HOME/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home #export JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home export PATH$JAVA_HOME/bin:$PATH:. export CLASSPATH$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.然后执行保存再查看版本 source ~/.bash_profile java -version可以发现已经是java17了 不同Java版本间的切换 若要将Java17切换到Java其他版本只需要将.bash_profile文件中的JAVA_HOME改成Java其他版本的目录即可修改的过程和之前配置JAVA_HOME环境变量类似。 SpringBoot3.0.0 查看springBoot版本 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.5/versionrelativePath/ !-- lookup parent from repository --/parent这里只要更换版本即可 version3.0.0/version然后reload maven一定会有报错这个我在下面也会有提到 Maven 3.6.3 这里需要注意下载的版本是否是你的IDEA版本支持的Maven版本 Maven官网 点击 Download 拉到最底下下载历史版本 下载解压更新系统变量就不说了 Idea 2022.2.1 下载 因为社区版免费使用所以下载社区版安装就好。下载的版本是Idea 2022.2.1就可以不做过多阐述。下载地址https://www.jetbrains.com/idea/download/#sectionmac 安装 mac 下ideaIC-2023.1.2-aarch64.dmg 直接双击安装按照说明完成操作即可。接下来就是启动。配置IDEA和项目 java17环境 IDEA中Maven设置 进入Idea File-settings…-Build,Execution,Deployment-Build Tools-Maven 还需要配置另两个地方Runner和Importing内选择Java17 IDEA环境配置 Setting设置 Project Structure设置 File - Project Structure… ⚠️如果编译项目出现 java: 无效的源发行版: 17则需要设置 全部配置完毕就可以启动项目了这就会遇到下面一堆的问题了但是不要慌我们一个个解决 问题处理 从这里开始就是本篇的重点了一个接一个地处理问题。运行项目出现 无效的源发行版: 17 这个可能性是有两种 环境变量配置后没有成功保存 打开shell执行java -version命令如果出现的是jdk17则说明环境变量正确反之再去修改环境变量 idea在更换jdk后没有重启 如果没问题查看项目目录 External Libraries 外部库中使用的应该就是Java17如下 hibernate unknown maven中Dependencies引入的hibernate报错 其实就是版本兼容的问题 需要删除原来的依赖然后升级版本6.1.7.Final dependencygroupIdorg.hibernate/groupIdartifactIdhibernate-core/artifactIdversion6.1.7.Final/version/dependency依赖默认情况下都在如下路径后面的删除依赖也是同样的 ERROR StatusLogger Unable to create Lookup for ctx 启动报错 ERROR StatusLogger Unable to create Lookup for ctxjava.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ServiceLoaderUtil Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.util.ServiceLoaderUtilat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)这个可以看官方发行版本log4j版本2.22.0 其实也是版本兼容的问题需要删除原来的依赖然后升级版本2.22.0 dependencygroupIdorg.apache.mvnging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.22.0/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-slf4j-impl/artifactIdversion2.22.0/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-jul/artifactIdversion2.22.0/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion2.22.0/version/dependencyjava.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present 启动报错 java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest这个问题让我找了好半天的解决办法 参考链接 Springfox Type javax.servlet.http.HttpServletRequest not presentSpring Boot3.0(六)整合swaggerType javax.servlet.http.HttpServletRequest not present #4061 原因是SpringFox 和 Spring Boot 3 的组合将无法工作。这里就需要替换了 解决 需要删除原来的依赖 删除SpringFox的引用并且对于spring-boot和swagger-ui之间的集成 dependencygroupIdio.springfox/groupIdartifactIdspringfox-boot-starter/artifactIdversion${springfox.version}/version/dependency将库添加到项目依赖项列表中无需额外配置 dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webmvc-ui/artifactIdversion2.2.0/version /dependencyswagger替换为openapi后会有报错 这里替换为如下类即可 更多内容可以查看springfox迁移指南 flyway问题 org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration and org.flywaydb.core.api.configuration.FluentConfiguration ***************************APPLICATION FAILED TO START***************************Description:An attempt was made to call a method that does not exist. The attempt was made from the following location:org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration.configureProperties(FlywayAutoConfiguration.java:234)The following method did not exist: org.flywaydb.core.api.configuration.FluentConfiguration org.flywaydb.core.api.configuration.FluentConfiguration.oracleSqlplus(boolean)The calling methods class, org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration, was loaded from the following location:Action:Correct the classpath of your application so that it contains compatible versions of the classes org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration and org.flywaydb.core.api.configuration.FluentConfiguration解决 升级版本 dependencygroupIdorg.flywaydb/groupIdartifactIdflyway-core/artifactIdversion7.14.0/version/dependency并且将属性设置为spring.flyway.enabled来禁用 Flyway 的自动配置 参考链接Spring-boot 3.0不支持flyway 7.15 动态数据源问题 *************************** APPLICATION FAILED TO START ***************************Description:Parameter 0 of constructor in com.axiomesh.bt.common.BTInitializer required a bean of type com.baomidou.dynamic.datasource.creator.DefaultDataSourceCreator that could not be found.Action:Consider defining a bean of type com.baomidou.dynamic.datasource.creator.DefaultDataSourceCreator in your configuration.解决 升版本改配置dynamic-datasource-spring-boot-starter—》dynamic-datasource-spring-boot3-starter删除依赖重新下载 dependencygroupIdcom.baomidou/groupIdartifactIddynamic-datasource-spring-boot3-starter/artifactIdversion4.2.0/version /dependency然后再次启动项目如果你还有别的问题那就一一解决大部分都是版本兼容问题、旧的依赖未清除问题加油 最后 好看的灵魂千篇一律有趣的鲲志一百六七如果觉得文章还不错的话可以点赞收藏关注 支持一下鲲志的主页 还有很多有趣的文章欢迎小伙伴们前去点评如果有什么需要改进的地方还请大佬指出❌
http://www.zqtcl.cn/news/998487/

相关文章:

  • 如何做网站宣传片单位做网站费用怎么记账
  • 西安网站建设现状购物app开发
  • 2019年做网站还有前景吗手机制作表格教程
  • 校园网站html模板南昌网站建设优化
  • 网站的建立目的来宾网站优化
  • 建设国家游戏网站网站建设规范方案
  • 做网站价位wordpress tag 列表
  • 网站建设 李奥贝纳百度软文推广公司
  • 网站建设流程平台企业微信开发者文档
  • 唐山建设网站的网站青海网站建设企业
  • 北京企业建站系统模板网站建设公司专业网站科技开发
  • 工商注册在哪个网站手机浏览器网站开发
  • 建设电影网站的目的各个国家的google网站
  • centos 网站搭建中国互联网协会调解中心
  • 手机端视频网站模板下载做单页网站需要做什么的
  • 太原网站建设外包中国做乱的小说网站
  • 青海做网站哪家好旅游网站的功能及建设
  • 百度网站优化工具汉川网页设计
  • 网站标签优化怎么做可以看图片的地图什么软件
  • 品牌网站建设9小蝌蚪9wordpress会务网站模版
  • 免费推广网站入口202网页与网站建设
  • 武夷山市网站建设网站标签制作
  • 广州网站定制开发方案河南省新闻发布会直播
  • 普陀网站建设哪家便宜网站建设辶金手指排名十五
  • 网站怎么做百度百科租房网站开发视频教程
  • 动态做网站做自己的网站不是免费的
  • 小学校园门户网站建设方案宁波seo软件
  • 想自己做网站做推广从哪些方面进行网站建设
  • 北京南站在哪个区哪个街道html表白简单代码
  • 海口网站建设流程郑州三牛网站建设