rit*_*t93 6 java eclipse android jar
我在将apache xerces.jar放入构建路径时得到以下错误.
我之前搜索过错误..并且描述的解决方案是针对冲突的罐子..但这不是这里的情况..我得到一些ParserException因为坏的utf-8
我试过了(但没有运气):
来自这里的解决方案
删除xerces运行项目
几个月前我通常通过构建路径导入xerces并且它已经工作了.任何帮助赞赏!
[2013-12-24 12:21:44 - tryout] Dx意外顶级异常:com.android.dx.cf.iface.ParseException:错误的utf-8字节a0,偏移00000004,位于 com.android.dx.cf .cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:374)位于com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:262)的com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser) .java:294)com的com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:150)com的com.android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124). android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)位于com.android.dx.cf.direct的com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:482). DirectClassFile.parse(DirectClassFile.java:406)位于com.android.dx.cf.direct.DirectClassFile.getMagic的com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)(DirectClassFile.java: 251)在com.android.dx.command.dexer.M ain.processClass(Main.java:665)at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)at com.android.dx.command.dexer.Main.access $ 600(Main.java :78)com.android下的com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)的com.android.dx.command.dexer.Main $ 1.processFileBytes(Main.java:572)位于com.android.dx.command.dexer.Main的com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)中的.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) .processOne(Main.java:596)位于com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)的com.android.dx.command.dexer.Main.runMonoDex(Main.java:264) )在sun.reflect的sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)的sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)中的com.android.dx.command.dexer.Main.run(Main.java:230) .在com.android.ide.eclipse.a上的java.lang.reflect.Method.invoke(未知来源)中删除了MetAccessorImpl.invoke(未知来源)dt.internal.build.DexWrapper.run(DexWrapper.java:187)位于com.android.ide.eclipse的com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:786). adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:597)org.eclipse.core.internal.events.BuildManager $ 2.run(BuildManager.java:733)org.eclipse.core.runtime.SafeRunner .run(SafeRunner.java:42)org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:328) )org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:403)org.eclipse.core.internal.resources.Project $ 1.run(Project.java:618)org.eclipse.core .internal.resources.Workspace.run(Workspace.java:2345)位于org.eclipse.core.internal.resources.Project.build的org.eclipse.core.internal.resources.Project.internalBuild(Project.java:597) (Project.java:124)com.android.ide.eclipse.adt.internal.project.ProjectHelper.doF ullIncrementalDebugBuild(ProjectHelper.java:1116)位于org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.)的com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:147). java:858)org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707)atg.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)org.eclipse .debug.internal.ui.DebugUIPlugin $ 8.run(DebugUIPlugin.java:1222)org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)引起:java.lang.IllegalArgumentException:bad utf -8字节a0,偏移00000004,位于com.android.dx.rop.cst.CstString.throwBadUtf8(CstString.java:171)的com.android.dx.rop.cst.CstString.utf8BytesToString(CstString.java:143)at com.android.dx.rop.cst.CstString.(CstString.java:200)在com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:371)... 43更多......解析时cst 012c在偏移00000afe ...而p arsing cst 00a5在偏移00000316 ...解析 > org/apache/xerces/impl/xpath/regex/ParserForXMLSchema.class
> [2013-12-24 12:21:44 - 试用] Dx 1错误; aborting [2013-12-24 12:21:44 - tryout]转换为Dalvik格式失败,错误1
小智 3
在你的问题中,你提到:
几个月前,我通过构建路径正常导入了 xerces,并且它有效
这对我来说是一个危险信号,因为对于不断更新的库来说,“几个月”可能就是一辈子。也许您的问题不在于 jar 文件与 Eclipse 的兼容性,而在于 jar 文件本身的问题,这可以用“错误的 UTF-8 字节”来解释您的解析器错误。
根据 Apache ( http://xerces.apache.org/xerces2-j/install.html ) 的说法,xerces.jar现在已被弃用:
xerces.jar在主发行版中不再可用。您仍然可以从已弃用的发行版下载此 jar。xerces.jar 是一个包含所有解析器类文件的Jar 文件(即,它包含xercesImpl.jar 和xml-apis.jar 内容的交集)。
因此,在上面列出的同一页面上,我发现您只需将 xerces.jar 替换为两个新文件:xercesImpl.jar和xml-apis.jar。请参阅下面的摘录(来自与上面相同的链接):
Xerces jar 文件的更改:
为了适应 Xerces 与 XSLT 处理器(例如 Xalan)一起使用的非常常见的情况,在 Xerces 2.0.0 beta 3 和 beta 4 之间,引入了 Xerces jar 文件默认组织的更改。除了我们仍然生成的 xercesSamples.jar 文件之外,Xerces 以前还附带了一个名为 xerces.jar 的文件。该文件包含解析器的所有功能。现在包含两个文件:xercesImpl.jar(我们对各种 API 的实现)和 xml-apis.jar(API 本身)。这样做是为了,如果您的 XSLT 处理器附带的 API 与 Xerces-J 支持的 API 级别相同,则可以避免将 xml-apis.jar 放在类路径上。
如果您仍然想要/需要使用 xerces.jar,Apache 提供了一种向后兼容的方法:
如果您希望改用 xerces.jar,我们已包含多个 Ant 目标以实现向后兼容性。“Ant 目标”是提供给我们的构建工具 Ant 的一个参数,它告诉它要应用 build.xml 文件的哪些部分。
如果您使用的是 Windows 系统并且只想获取 xerces.jar 文件,则可以执行 build.bat deprecatedjars。
上面的链接继续列出了您可能遇到的版本问题的更多潜在问题。如果这可以解决您的问题,请告诉我;如果没有,我将继续寻找潜在的解决方案。
归档时间: |
|
查看次数: |
4314 次 |
最近记录: |