我正在尝试在部署在websphere上的应用程序上运行spring批处理。当我使用eclipse运行批处理时,所有运行正常,但是当我在websphere上的已部署应用程序中运行相同的批处理时,它会出错
com.thoughtworks.paranamer.ParameterNamesNotFoundException: Parameter names not found for executeMethod
at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.getParameterNamesForMethod(BytecodeReadingParanamer.java:209)
我检查了paranamer BytecodeReadingParanamer类的源代码,它说
if (!collector.isDebugInfoPresent()) {
if (throwExceptionIfMissing) {
throw new ParameterNamesNotFoundException("Parameter names not found for " + methodName);
} else {
return Paranamer.EMPTY_NAMES;
}
}
我认为这意味着java类没有在websphere上使用调试信息(-g flag?)进行编译,而在eclipse中,我有这些信息。
请告诉我如何在websphere上更正此错误?我们在java编译的类标志中添加了调试信息吗?
由于
艾登
答案 0 :(得分:2)
感谢@minus,因为编译器服务器中存在一些错误,编译器确实存在问题。 paranamer或代码本身没有任何问题。必须修复编译器的错误。