1

RESTful Web サービスと EJB 接続を備えた Java EE Web アプリケーションを別の Java EE アプリケーションにデプロイしようとしています。いくつかの問題が発生しており、特定の質問をすべて書き留めることができていないため、すべてを続けて説明するしかありません。

1) まず、Tomcat を使用してアプリを実行していますが、EJB 接続を機能させることができません。何があっても、JNDI エラーが発生しますNamingContextFactory class not foundなんで ? 私のJNDI接続は次のとおりです:

String hostname = "localhost";
    String port = "1099";
    String url = "jnp://" + hostname + ":" + port + "/";
    Properties h = new Properties();
    h.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    h.put(Context.PROVIDER_URL, url);
    h.put(Context.URL_PKG_PREFIXES, "org.jboss.naming.client");
    initialContext = new InitialContext(h);

2) したがって、使用するサーバーは関係なく、接続しようとしているアプリは JBoss (4.4.2.GA) を使用しているため、同じ JBoss でアプリをデプロイしようとしました。デプロイできませんClassNotFoundException: javax.ws.rs.core.ApplicationConfig。デプロイ時に REST の問題があります。

2.1) Netbeans でコンパイルしていますが、これはコンパイル時に使用してApplicationConfig.classいる JAX-RS API の 1.1 バージョンの一部ではありません。jsr311-api-1.1.jar以前使っていた0.8からライブラリの実装が変わったのですが、jarが入っていなかったのでバージョンアップしました@FormParam。今まで、代わりに使用する回避策を見つけていましたが、com.sun.jersey.api.representation.FormParam私が理解している限り、Jersey は JBoss と互換性がありません。 戦争で使用されていないのに、サーバーが ApplicationConfig を探しているのはなぜですか?

2.2) RESTEasy を使用する必要があることは理解しましたが、JBoss 4 には含まれていないため、手動でインストールする必要があります。しかし、RESTEasy doc は、プロジェクトを完全に変更して、多くの jar やサーブレットなどを追加することを提案しています。私の観点からは、JAX-RS API が接続されるサーバー ライブラリに RESTful な実装が必要なだけです。これは単なるインターフェイスです。 、アプリがデプロイされると参照されます。Java EE ライブラリのリンクがどのように機能するかについて、重大な誤解をしている可能性があります。助けてください。

したがって、ここにはいくつかの異なる問題があることはわかっていますが、それらを分離することはできませんでした。私はこれで多くの時間を失ったので、自分のプロジェクトが心配です。前もって感謝します。

4

0 に答える 0