7

我正在尝试在 WebSphere 上部署的应用程序上运行 spring 批处理。当我使用 Eclipse 运行批处理时,一切运行良好,但是当我在 WebSphere 上部署的应用程序中运行相同的批处理时,它给出了错误

com.thoughtworks.paranamer.ParameterNamesNotFoundException: Parameter names  not found for executeMethod
    at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.getParameterNamesForMethod(BytecodeReadingParanamer.java:209)

我检查了参数类的源代码,BytecodeReadingParanamer它说

if (!collector.isDebugInfoPresent()) {
    if (throwExceptionIfMissing) {
        throw new ParameterNamesNotFoundException("Parameter names not found for " + methodName);
    } else {
        return Paranamer.EMPTY_NAMES;
    }
}

我相信这意味着 Java 类没有-g在 WebSphere 上使用调试信息(标志?)进行编译,而在 Eclipse 中,我有这些信息。

如何在 WebSphere 上更正此错误?我们是否在 Java 编译类标志中添加了调试信息?

4

1 回答 1

2

感谢@minus,问题确实出在编译器上,因为编译器服务器中存在一些错误。参数或代码本身没有任何问题。编译器的错误必须修复。

于 2017-03-27T01:27:53.990 回答