基于module-info.class的问题

目录
  • module-info.class问题
  • Tomcat报错module-info.class

module-info.class问题

1.module-info.class是个什么?干什么?

2.看名字module-info,即模块信息,自然想到是管理模块信息的。jdk9特性里的,在解压软件中直接干掉呗,试试没报错ok就行

3.pom文件导入 asm等配置后启动报错

        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>3.3.1</version>
        </dependency>

严重:

Unable to process Jar entry [module-info.class] from Jar [jar:file:/D:/soft/repository/org/ow2/asm/asm/7.1/asm-7.1.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

log4j中也有,也干掉,这个层次jar位置再往下找META-INF/versions/9/module-info.class,编译器都告诉你位置了,别傻傻的和前面那个一样

Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:/D:/soft/repository/org/apache/logging/log4j/log4j-api/2.12.0/log4j-api-2.12.0.jar!/] for annotations

找到对应maven仓库的位置 /D:/soft/repository/org/apache/logging/log4j/log4j-api/2.12.0/log4j-api-2.12.0.jar!/下的

META-INF/versions/9/module-info.class  解压工具删除掉(关掉IDE工具,删完再运行)

Tomcat报错module-info.class

Tomcat报错[module-info.class] from Jar [file:/S:/Environment/apache-tomcat-8.5.11/wtpwebapps/huibang/WEB-INF/lib/jaxb-api-2.3.1.jar] for annotations:

十一月 11, 2020 10:48:50 上午 org.apache.catalina.startup.ContextConfig processAnnotationsJar
严重: Unable to process Jar entry [module-info.class] from Jar [file:/S:/Environment/apache-tomcat-8.5.11/wtpwebapps/huibang/WEB-INF/lib/jaxb-api-2.3.1.jar] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
    at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:97)
    at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:54)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:174)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:83)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2053)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:2000)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1970)
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1923)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1163)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:775)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5087)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

十一月 11, 2020 10:48:51 上午 org.apache.catalina.startup.ContextConfig processAnnotationsJar
严重: Unable to process Jar entry [module-info.class] from Jar [file:/S:/Environment/apache-tomcat-8.5.11/wtpwebapps/huibang/WEB-INF/lib/stax-ex-1.8.jar] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

以第一个报错为例

processAnnotationsJar
严重: Unable to process Jar entry [module-info.class] from Jar [file:/S:/Environment/apache-tomcat-8.5.11/wtpwebapps/huibang/WEB-INF/lib/jaxb-api-2.3.1.jar] for annotations

找到Maven下的jar包

查看jar包所在路径

找到并删除它

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决IDEA JDK9没有module-info.java的问题

    目录 IDEA JDK9没有module-info.java问题 module-info.java文件 IDEA JDK9没有module-info.java问题 1. 创建一个maven工程 2. 配置一下项目的编译环境 注意:必须声明为jdk9及其以后的版本,不然new中是没有module-info.java这个选项 下面是使用jdk8的时候,没有module-info.java这个选项 使用jdk10的时候,就有module-info.java这个选项 <build> <plugi

  • JAVA module-info.java文件详解

    目录 JAVA module-info.java文件 Java9 module-info.java什么意思 JAVA module-info.java文件 Java9 module-info.java module 本模块的名称{ exports 对外暴露的包路径; requires 需要依赖的其他模块名称; } module-info.java不是类,不是接口,是一些模块描述信息.module也不是关键字. exports 对外暴露的包路径; 有些包你想要其他模块访问,有些包你不想要其他模块访

  • JavaScript模块模式实例详解

    本文实例讲述了JavaScript模块模式.分享给大家供大家参考,具体如下: 在JS中没有Class的概念,那么如何体现Object的Public和Private属性呢,答案就是模块模式(Module Pattern). JS中有一个显著的特性: 匿名函数(anonymous function),通过匿名函数的建立和执行,匿名函数里的代码就形成了一个闭包(closure),从而形成,封装和控制一个对象的Private和Public的特性,避免了全局变量的泛滥和与其他脚本的冲突. (functio

  • Vuex和前端缓存的整合策略详解

    如何存放或更新缓存? 缓存数据来源是预知的,我们可以预先定义哪些 mutation 是缓存相关的. 我们期望这个过程更自然一点,通过某种变化自动映射,使以后不管缓存类别增加还是减少都能修改极少的代码来应对变化. Vuex的插件可以拦截 mutations,借助这个机制,我们可以制定一种策略化的规则. 可以规定,所有需要更新缓存的 mutationType 都要符合这种格式:module-type-cacheKey,非缓存的 mutationType 格式为 module-type. 那么就可以拦

  • Swift中的命名空间详解

    前言 Objective-C 一个一直以来令人诟病的地方就是没有命名空间,在应用开发时,所有的代码和引用的静态库最终都会被编译到同一个域和二进制中.这样的后果是一旦我们有重复的类名的话,就会导致编译时的冲突和失败.为了避免这种事情的发生,Objective-C 的类型一般都会加上两到三个字母的前缀,比如 Apple 保留的 NS 和 UI 前缀,各个系统框架的前缀 SK (StoreKit),CG (CoreGraphic) 等.Objective-C 社区的大部分开发者也遵守了这个约定,一般都

  • PyTorch零基础入门之构建模型基础

    目录 一.神经网络的构造 二.神经网络中常见的层 2.1 不含模型参数的层 2.2 含模型参数的层 (1)代码栗子1 (2)代码栗子2 2.3 二维卷积层 stride 2.4 池化层 三.LeNet模型栗子 三点提醒: 四.AlexNet模型栗子 Reference 一.神经网络的构造 PyTorch中神经网络构造一般是基于 Module 类的模型来完成的,它让模型构造更加灵活.Module 类是 nn 模块里提供的一个模型构造类,是所有神经网络模块的基类,我们可以继承它来定义我们想要的模型.

  • 详解vite如何支持cjs方案示例

    目录 一.问题 二.解决方案 三.如何处理commonJS 一.问题 vite运行时使用esbuild,基于esm 大部分三方包为UMD规范,输出的是CommonJS的包(比如react.lodash) // react 入口文件 // 只有 CommonJS 格式 if (process.env.NODE_ENV === "production") { module.exports = require("./cjs/react.production.min.js"

  • 基于IDEA建立module操作步骤解析

    maven项目可以创建多个module,在IDEA中具体操作 1.在已经建好的maven项目上右键 2.新建: 效果如下: 这时在子pom.xml中 <parent> <artifactId>spring-shell</artifactId> <groupId>cn.jiashubing</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelV

  • 详解Sea.js中Module.exports和exports的区别

    一.官方解释 因为SeaJs和Nodejs都是基于CommonJS,所以直接看的Node的官方文档解释 Module.exports The module.exports object is created by the Module system. Sometimes this is not acceptable; many want their module to be an instance of some class. To do this, assign the desired exp

  • AngularJS基于provider实现全局变量的读取和赋值方法

    本文实例讲述了AngularJS基于provider实现全局变量的读取和赋值方法.分享给大家供大家参考,具体如下: 简单全局变量的设置 1,通过var 直接定义global variable,这根纯js是一样的. 2,用angularjs value来设置全局变量 . 3,用angularjs constant来设置全局变量 . 示例代码如下: 在app文件中,声明三种变量 'use strict'; /* App Module */ var test2 = 'tank'; //方法1,定义全局

  • 基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码

    Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作. AngularJs 就是一个函数库,算不上一个框架,源码2万2千多行,提供了前端MVC的开发方式,有双向绑定,指令等特性,这是具有革命性的.我是多么反感jQuery 用选择器 选择元素 ,绑定事件,进行一大堆DOM操作,一旦代码过多,非常不好维护,html结构改变,又要重写js代码,不过 jQuery  对 ajax的

  • 详解基于Angular4+ server render(服务端渲染)开发教程

    目标: 1.更好的 SEO,方便搜索爬虫抓取页面内容 2.更快的内容到达时间(time-to-content) 影响: 1.用户:比原来更快的看到渲染的页面,提升用户体验 2.开发人员:某些代码可能需要特殊处理,才能在服务器渲染应用程序中运行(window,document, navigator等) 安装: 1.nodejs 建议6+ 2.angular建议4.1+ 理论实现: 尽管这是一张来自vue官网服务器渲染的一张示意图,但是原理上和angular都是一样的,只是实现的代码不一致. SSR

随机推荐