我正在开发一个使用Tomcat7并使用javax.json的项目。到目前为止一切正常,但现在我将javax.json从1.0.2更新到1.1,当我启动tomcat时给出了以下错误:
utf8mb4
我现在能做什么?
谢谢
答案 0 :(得分:3)
感谢tigger,指出这一点。当我部署时,这导致我在Wildfly-10.1.0.Final中出现异常:“无法索引类module-info.class”
我不想退回版本,所以我“修复”了jar:
将jar移动到自己的目录
cd that directory
爆炸javax.json-1.1.jar文件:
jar xvf javax.json-1.1.jar
删除module-info.class
rm module-info.class
摆脱罐子本身
rm javax.json-1.1.jar
把所有东西放回罐子里:
jar cvf javax.json-jdk8-1.1.jar .
将jar移回你需要它的地方。
注意:因为我将“jdk8”添加到jar的名称以区别于maven repo版本,所以我还必须在使用它的每个地方更新我的构建路径。
重建,重新部署,瞧!没有更多Wildfly错误! :)
答案 1 :(得分:2)
我遇到了同样的问题。在我的例子中,javax.json 1.1是用JDK9构建的ea;告诉标志是[module-info.class]。更改为旧版本后,我的war文件由Tomcat部署而不会抱怨。
答案 2 :(得分:1)
下面的jar用corrupt module-info.class
下载javax.json.bind-API-1.0
javax.json-1.1
javax.json-API-1.1
yasson-1.0
添加了这些jar(以及其他Jersey jar)以构建RESTful Web App的路径
使用JAVAEE6
尝试了JDK 1.7和1.8
出现此错误
09-May-2018 18:17:06.298 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar无法从Jar [jar:file]处理Jar条目[module-info.class] :/ D:/ *** / build / web / WEB-INF / lib / javax.json-api-1.1.jar!/]注释 org.apache.tomcat.util.bcel.classfile.ClassFormatException:常量池中的无效字节标记:19
09-May-2018 18:17:06.361 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar无法从Jar [jar:file]处理Jar条目[module-info.class] :/ D:/ *** / build / web / WEB-INF / lib / javax.json-1.1.jar!/]注释 org.apache.tomcat.util.bcel.classfile.ClassFormatException:常量池中的无效字节标记:19
09-May-2018 18:17:06.892 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar无法从Jar [jar:file]处理Jar条目[module-info.class] :/ D:/ *** / build / web / WEB-INF / lib / javax.json.bind-api-1.0.jar!/]用于注释 org.apache.tomcat.util.bcel.classfile.ClassFormatException:常量池中的无效字节标记:19
09-May-2018 18:17:07.233严重[localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar无法从Jar [jar:file]处理Jar条目[module-info.class] :/ D:/ *** / build / web / WEB-INF / lib / yasson-1.0.jar!/]注释 org.apache.tomcat.util.bcel.classfile.ClassFormatException:常量池中的无效字节标记:19
现在我分别在罐子上面下载以获得无错误的罐子
答案 3 :(得分:1)
当我将Java 1.8与JAXRS-RI 2.27和Tomcat 8.5版本一起使用时,我也面临着相同的问题。然后我从/ WEB-INF / lib文件夹中删除了那些旧的2.27 jar,并从buildpath中删除了它们。然后在lib和项目buildpath中用jaxrs-ri-2.6 jar替换。这个解决方案对我有帮助。
从this Link下载此文件:jaxrs-ri-2.6.zip。