zoukankan      html  css  js  c++  java
  • 升级至tomcat10

    官方解决方案

    最后再次来到tomcat官网,原来是在tomcat10之后,将Java EE 的命名空间全部迁移到Jakarta,导致原本打包的war包内封装的.class文件全部失效,需要使用官方提供的迁移工具 tomcat-jakartaee-migration 进行迁移。
    tomcat官网
    实现
    克隆迁移工具

    这个没什么好说的,直接在git bash里克隆tomcat-jakartaee-migration的仓库。

    git clone git@github.com:apache/tomcat-jakartaee-migration.git


    安装Maven

    按照迁移工具的说明,需要使用Maven对克隆的源码进行构建。我们来到Maven官网,根据自己的os进行下载。
    这里以Windows为例,下载 apache-maven-x.x.x-bin.zip ,如果是Linux系统请下载上方的 .tar.gz 文件。下载到的是二进制文件,不需要安装,直接解压到一个目录即可。

    为了方便使用,可以设置环境变量。
    在系统变量列表中:

        增加MAVEN_HOME,值为解压Maven的根目录
        在PATH中添加Maven二进制文件的路径,即为%MAVEN_HOME%\bin

     
        设置完成后,确保在终端中输入mvn -v能显示当前maven的版本。
       

     
    编译迁移工具

    来到刚才克隆迁移工具的目录,使用

    mvn verify

    对源代码进行编译,因第一次启动Maven可能要下载很多依赖,请耐心等待,直到看到编译成功的提示。

     
    使用迁移命令重新生成war包

    来到迁移工具目录下的target文件夹,找到刚才编译生成的
    jakartaee-migration-x.x.x-SNAPSHOT-shaded.jar,使用

    java -jar jakartaee-migration-x.x.x-SNAPSHOT-shaded.jar <source> <destination>

    对war包进行重新编译。
    其中<source> 填需要迁移的war包的路径,<destination>填生成新war包的路径,如

    java -jar .\jakartaee-migration-0.0.2-SNAPSHOT-shaded.jar D:\progress_note_server.war D:\new.war

    即可看到使用迁移命令生成了新的war包,现在部署到服务器上,即可恢复业务。




  • 相关阅读:
    hadoop面试
    常用脚本
    1.kafka
    2.flink
    java面试
    Hbase 项目
    linux 2>&1 和 &的意思
    Jetbrains系列产品重置试用方法
    解决GitHub网页githubusercontent地址无法访问问题
    stylus 成熟的写法
  • 原文地址:https://www.cnblogs.com/interdrp/p/15718947.html
Copyright © 2011-2022 走看看