Eclipse Luna(バージョン4.4.2)とGlassfish 4を使用して、JAX-RSを使用してREST Webアプリケーションを構築しています。以前にうまく働いていたREST APIにちょうど非常に単純なポストである次のコードは、非常に奇妙なエラーをスローし始めているEclipseとGlassfishでJAX-RSを使用しているときにクラスが見つかりません
:
@POST
public Response addToWatchlist(WatchlistEntry watchlistentry)
{
return Response.ok(watchlist_service.addToWatchlist(watchlistentry).toString()).build();
}
エラーは以下の通りです:
Warning: StandardWrapperValve[Jersey Web Application]: Servlet.service() for servlet Jersey Web Application threw exception
java.lang.ClassNotFoundException: javax.xml.parsers.ParserConfigurationException not found by org.eclipse.persistence.moxy
私はこれを知ることができたすべては、このWebページである: https://java.net/jira/browse/JERSEY-2888
コメントの一つがこれを言いますEclipseLink 2.6.1およびJersey 2.19で修正されました。
私はMAVENとeclipseを使い慣れています。上記が正しいと仮定して、Jerseyバージョンを更新するためにEclipseでMavenプロジェクトを取得するにはどうすればよいですか?また、EclipseLinkのバージョンを更新するにはどうすればよいですか?彼らのサイトはバージョン2.6.0しか利用できないようです:http://www.eclipse.org/eclipselink/#download
私はすべてこれが日食それ自体で行うことができると仮定しますか?
すべてのお役に立ちました!
EDIT 1:のEclipseLink 2.6.1は、10月15日2015年にリリースされたようにあなたがここに見ることができるようにそれは、そうです:http://www.eclipse.org/eclipselink/releases/
しかし、あなたがここに見ることができるように、持っていないようです"ヘルプ - >アップデートソフトウェア"用のEclipseに組み込まれました:http://download.eclipse.org/rt/eclipselink/updates/
これは非常に迷惑です。
私は自分のRESTウェブサイトを構築していますが、このエラーのためにPUTもPOSTも動作しません。
誰かが2.6.1の作業方法を知っていますか?私はMaven jersey-quickstart-webappプロジェクトを使用しています。
このバグは、顔の王様の痛みです。
EDIT 2:今日はハックがあります。私は以下のように実行時に使用されているのEclipseLinkのバージョンprogrammticallyチェックインすると、それはバグが残っているにもかかわらず、バージョン2.6.1である私に語った:私が見つけた関連する質問で
Class<?> myClass = Class.forName("org.eclipse.persistence.Version");
Method myMethod = myClass.getMethod("getVersion");
String version = myMethod.invoke(null).toString();
System.out.println("version = " + version);
(How to find what version of EclipseLink my Eclipse Project is using?)方法glassfishがEclipse用に使用している実際のjarファイルを見つける。それらはglassfish/modulesディレクトリにあります。 org.eclipse.persistence.core.jarファイルの中には、glassfishが使用しているeclipselinkのバージョンを示すreadme.htmlがあります。私にとっては2.6だった。
手動でorg.eclipse.persistence.core.jarファイルとorg.eclipse.persistence.moxy.jarファイルをmavenサイトの最新バージョンで更新しました。これは非常にハッキーですが、これを行うことによって何が影響を受けるのか分かりませんが、この問題を乗り越えます。私がこれを行う正しい方法を見つけたら、私は以下の答えを、すべてと雑貨のために書くつもりです。
私が更新プログラム2.6.1 2016年2月 –
えええええええええええええええええええええええええええええええたえええええええええええええええええええええええええええええええええとってって、しかし、glassfish/modulesディレクトリにある実際のorg.eclipse.persistence.core.jarを調べると、readme.htmlには2.6と書かれています。私はまだエラーが発生している! –
もちろん、EclipseのアップデートはGlassfishが使用しているバージョンと同じではありません。 –