websphereにデプロイされたアプリケーションでスプリングバッチを実行しようとしています。私はすべてがうまく動作しますが、私は、WebSphereにデプロイされたアプリケーションで同じバッチを実行すると、それは私がparanamerのBytecodeReadingParanamerクラスのソースコードをチェックし、それがコンパイルされたクラスファイルのデバッグ情報が欠落しているためにパラナマーエラーが発生しました
if (!collector.isDebugInfoPresent()) {
if (throwExceptionIfMissing) {
throw new ParameterNamesNotFoundException("Parameter names not found for " + methodName);
} else {
return Paranamer.EMPTY_NAMES;
}
}
を言う
com.thoughtworks.paranamer.ParameterNamesNotFoundException: Parameter names not found for executeMethod
at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.getParameterNamesForMethod(BytecodeReadingParanamer.java:209)
エラーになります日食を使用してバッチを実行すると、私は、Javaクラスがwebsphere上でデバッグ情報(-gフラグ?)でコンパイルされていなかったのに対し、Eclipseではこの情報を持っていると考えています。
websphereでこのエラーを修正する方法を教えてください。 Javaコンパイル済みクラスフラグにデバッグ情報を追加していますか?コンパイラのサーバーでいくつかのバグがあったとして問題@minus
おかげ
エイデン
誰でもどうぞ! – Aiden
コンパイルされたクラスファイルにパラメータ名を含めるオプションは、デバッグオプションとは異なります。 'javac'では' -parameters'オプションです。しかし、私はWebsphereについて何も言えません... – Holger
コードはif(!collector.isDebugInfoPresent())ですので、websphereのデバッグ情報は存在しません。 Websphereに追加するには? Eclipseで同じアプリケーションを実行すると、うまく動作します。なぜなら、Eclipseのクラスファイルでは、デバッグ情報が存在するからですか? – Aiden