将javax json从1.0.2更新为1.1

时间:2017-06-28 13:50:27

标签: java json

我正在开发一个使用Tomcat7并使用javax.json的项目。到目前为止一切正常,但现在我将javax.json从1.0.2更新到1.1,当我启动tomcat时给出了以下错误:

utf8mb4

我现在能做什么?

谢谢

4 个答案:

答案 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)

  1. 下载符合javax.ws.rs-api-2.1
  2. 的泽西岛
  3. 下面的jar用corrupt module-info.class

    下载

    javax.json.bind-API-1.0

    javax.json-1.1

    javax.json-API-1.1

    yasson-1.0

  4. DeCompiled these jars with Java Decompiler

    1. 添加了这些jar(以及其他Jersey jar)以构建RESTful Web App的路径

      使用JAVAEE6

      尝试了JDK 1.7和1.8

    2. 在Tomcat 8.0.27.0中使用NetBeans进行部署
    3. 出现此错误

      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

    4. 现在我分别在罐子上面下载以获得无错误的罐子

答案 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。