Joe*_*ean 9 java google-app-engine jersey
我已经将Web应用程序部署到Google应用程序引擎,而我的Web服务使用了jersey 1.14框架.当我尝试在GAE上使用或调用Web服务时,我得到了一个java.lang.IncompatibleClassChangeError:实现类.我四处搜索并意识到,球衣1.14取决于asm 3.1和谷歌应用程序引擎使用asm 4.0并意识到我必须使用JarJar打包依赖关系来解决这个问题,但我不知道如何做到这一点与JarJar.我发现的教程非常神秘,面向体验程序员.所以有人可以发布一个面向初学者的教程,或者指导我完成解决这个问题的步骤.
kri*_*ya 12
嗯,这是很晚的答案,但如果有人穿越可能会有所帮助.我将举一个例子并解释一下.jarjar可用于重新打包java库.它可用于更改名称空间,例如org.apache.common.codec需要更改为some_random_name.org.apache.common.codec.从jarjar下载站点下载jarjar 以后粘贴你要更改的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
Run Code Online (Sandbox Code Playgroud)
输出myoutjar.jar将保存到同一个文件夹中,您可以在项目中使用它而不会产生任何冲突
您可以使用jdk的jar命令来提取并合并jar文件。
jar -xvf firstjar.jar .... 它将提取 jar 类文件夹/包明智 -com/pak1/pak2
现在同样提取第二个 jar 并合并两个展开的文件夹
不,您可以创建合并的类文件的单个 jar 。
jar -cvf mergedjar.jar [folders name [ex com org ...]],有关详细信息,请检查 jar 命令的工作原理。
归档时间: |
|
查看次数: |
5970 次 |
最近记录: |