我已将 Web 应用程序部署到 Google 应用程序引擎,并且我的 Web 服务使用 jersey 1.14 框架。当我尝试使用或调用 GAE 上的 Web 服务时,我收到 java.lang.InknownClassChangeError: Implementing class。我四处搜索,发现 jersey 1.14 依赖于 asm 3.1,而 google app engine 使用 asm 4.0,并意识到我必须使用 JarJar 打包依赖项来解决此问题,但我不知道如何执行此操作与加加。我发现该教程非常神秘,并且面向经验丰富的程序员。因此,有人可以发布面向初学者的教程或引导我完成解决此问题的步骤。
嗯,这是一个很晚的答案,但如果有人路过可能会有所帮助。我将举一个例子并解释这一点。 jarjar可用于重新打包java库。它可用于更改命名空间,例如 org.apache.common.codec 需要更改为 some_random_name.org.apache.common.codec。从以下位置下载 jarjarjarjar下载站点稍后将要更改的 jar 文件 (myinjar.jar) 和下载的 jarjar 粘贴到一个文件夹中并运行此命令java -jar jarjar-1.4.jar process myrules.txt myinjar.jar myoutjar.jar
在 myrules.txt 添加这些行
rule org.apache.commons.codec.** some_random_name.org.apache.commons.codec.@1
输出 myoutjar.jar 将保存到同一文件夹中,您可以在项目中使用它而不会发生任何冲突
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)