我一直在使用Business Objects的RESTful API创建一个简单的Java桌面应用程序,并且遇到了问题。每当我在Eclipse中运行我的应用程序时工作正常;每当我将它作为'Runnable Jar'导出并选择库处理选项'将所需的库打包到生成的JAR中'时,它都可以正常工作。但是,每当我尝试使用库处理选项“提取所需的库到生成JAR”我收到以下错误运行该应用程序后,将其导出:导出Java应用程序时Business Objects的'bcm.jar'错误
java.lang.NoClassDefFoundError: Could not initialize class com.businessobjects.bcm.BCM
我已经下添加了“bcm.jar”文件'res'源文件夹并将其添加到构建路径中。有一次,我在“SAP BusinessObjects”java文件夹和外部文件夹下添加了所有JAR,但仍然会抛出错误。问题源于这一行代码:
enterpriseSession = CrystalEnterprise.getSessionMgr().logon(userID, password, CMS, auth);
有人会知道为什么我会说错误吗?我真的很想使用Extract选项,因为它会提高性能,因为我的应用程序变得更大。任何帮助解决这个问题将不胜感激:)
编辑:我会很乐意提供澄清或进一步的细节根据要求!
从https://stackoverflow.com/questions/9617420/difference-between-extracting-and-packaging-libraries-into-a-jar-file,Main类在两种情况下是不同的。 – mikep
嘿mikep,谢谢你评论:)我已经看过过去的确切文章,这部分原因是为什么我想使用Extract方法而不是Packaging。虽然我理解打包和解压之间的区别,但我不明白为什么这个bcm.jar在几十个其他SAP jar没有的时候有问题。我唯一一次麻烦包装我的应用程序的时候是我使用这个罐子;我正在尝试查看是否有某种方法可以在使用此jar的同时打包我的应用程序。 –
bcm.jar中的META-INF怎么看lijke(jar tvf)? – mikep