[英]java.lang.NoSuchMethodError GeneXus)
我正在为我的项目使用GeneXus Evolution 2。 在我开发期间,出现了下图中显示的错误。 我不知道这是什么以及如何解决此错误。 我现在不知道了。 你能给我什么建议吗? 非常感谢你。
HTTP 500个-java.lang.NoSuchMethodError:com.genexus.ModelContext.server2webcli(Ljava / util / Date;)Ljava / util / Date;
NoSuchMethodError
通常指示您在编译代码时有一个方法(声明),但是在运行它时缺少实现。 在大多数情况下,这样做的原因是,编译时在类路径上具有相应库的JAR文件的一个版本,而在运行时具有一个不兼容的版本。
更详细的答案将需要更详细的问题... ;-)
假设您使用Tomcat作为servlet容器,请查看{Tomcat_Home}/webapps/MyApp/WEB-INF/lib
,其中MyApp
是您的应用程序名称。 将有一个gxclassR.jar
文件,该文件应与您的Genexus安装版本匹配。 要测试您是否合适,请执行以下操作:
gxclassD.jar
。 如果有,请将其删除。 gxclassR.zip
文件。 复制到WEB-INF/lib folder
,将其重命名为gxclassR.jar
替换实际的gxclassR.zip
文件。 gxclassR.jar
。 如果您的对象继续失败,则问题可能出在与您的Genexus对象相关联的.class
。 也许未正确生成/编译。 因此,要解决此问题:
Build with this only
与对象关联的“ Build with this only
选项。 激活“ Force
选项以执行此操作,访问“工具->选项->构建->仅以此构建” .class
文件。 通常,文件名与对象名匹配。 查看修改日期并确认是最近的日期。 .class
文件复制到webapp文件夹内的WEB-INF\\classes
文件夹中。 我认为这足以解决您的问题。 如果没有,请详细说明您的错误。
检查KB内Web文件夹中“ gxclassR.zip”文件的日期和大小(工具->浏览目标环境目录),并将其与Web应用程序使用的文件(文件夹WEB-INF / LIB)。 如果它们不匹配,请用KB中的一个替换您的Web应用程序中的一个。 如果不确定并希望由GX处理,请删除Web文件夹中的所有.ver文件并强制进行构建。 那应该将所有文件同步到正确的版本。
也可能是您正在调用的方法不存在,或者存在数量不同或类型不同的参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.