2017-02-17 13 views
0

これはおそらく非常に簡単な答えで質問になるだろう...しかし、私はしばらくの間、グーグルで行っていて、何も見つかりませんでした。NetBeansでクラスライブラリを作成する

私は、より多くのNetBeansプロジェクト(Glassfishに実装されたEJBとそれを呼び出すクライアント)でいくつかのクラスを使用する必要があるプロジェクトに取り組んでいます。 これを動作させるために、EJBプロジェクト全体をライブラリプロジェクトとしてクライアントプロジェクトにインポートしましたが、クライアントを起動するたびにNetbeansはクライアント全体を再デプロイするため、時間がかかります。

私はサーバープロジェクトから必要な数のインターフェイスを抽出し、それらを.jarでパッケージ化し、それをクライアントにリンクしたいのです。

Eclipseでは、(クラスを右クリックしてjarファイルとしてエクスポートするだけで)簡単でした。ここで私は本当に何かを見つけることはできません。私が見る唯一のエクスポートオプションは、プロジェクト全体を.zipとしてエクスポートするために使用されます。

(コピークライアントプロジェクトの.javaファイルでも動作しますが、貼り付けの.jarが、私は考えてきれいになります)

答えて

1

ない、私は問題を理解してください。 私は共有クラスをたくさん使い、それらを自分のプロジェクトにパッケージ化します。

可能なプロセス:

  1. 新しいプロジェクト、 "Javaクラスライブラリ" を作成します。
  2. 必要なクラスをそのプロジェクトに移動します。
  3. メインプロジェクトで、[プロパティ]、[ライブラリ]、[プロジェクトの追加]を開いて、ライブラリプロジェクトにリンクします。
+0

どのようにすれば、javax.persistenceのような依存関係で動作させることができますか?私はいくつかのエンティティクラスをライブラリプロジェクトに移そうとしましたが、それらのインポートは機能しませんでした(Glassfishを依存関係として追加する必要がありますか?) – Paul

+0

"JavaEE APIライブラリ"と "GlassEEのJavaEE"をライブラリプロジェクトを開き、エンティティを移動します。インポートが解決されました。彼らは私のEJBと私のクライアントアプリケーションの両方にjarファイルをインポートしました。 EJBをデプロイしてアプリケーションを実行しましたが、「ava.lang.IllegalArgumentException:未知のエンティティBeanクラス:クラスEntities.Person、EJBのメソッドを呼び出すときにこのクラスが@Entityアノテーションでマークされていることを確認してください」 。 – Paul

+0

私はこの問題を解決できました。 persistence.xmlで使用したい各エンティティを手動で指定する必要がありました。リストされたすべてのクラスを使用するデフォルトのオプションは機能しませんでした。どちらもを使用せず、ライブラリのjarに直接指していませんでした。 – Paul

関連する問題