2016-05-05 16 views
2

私はNetbeansで開発していたエンタープライズアプリケーションを持っていますが、今ではいくつかのRESTful Webサービスを-warモジュールに追加しようとしています。私が抱えている問題は、Netbeans機能を使用してWebサービスを作成すると、ApplicationConfig.javaクラスが作成されないということです。新しいRESTful Webサービスを作成するとNetbeansはApplicationConfig.javaを作成しません

私がウェブ上で見つけたすべての例とチュートリアルでは、NetbeansがApplicationを拡張するApplicationConfig.javaクラスを自動的に生成し、このクラスの@ApplicationPathアノテーションを編集することで、 Webサービスに到達することができます。実際、新しいJava EEアプリケーションを最初から作成し、New→RESTful Web Services from Patternsを呼び出すと、これはまさにその動作です。しかし、私が開発しているNetbeansプロジェクトでこれを試すと、ApplicationConfig.javaは作成されません。

私の質問:

1)なぜこれが起こっているすべてのアイデア? Netbeansのバグ? NetbeansがApplicationConfigを作成しない既知の状況がいくつかありますか?

2)自分でApplicationConfig.javaを手動で作成することはできますか?私は@ApplicationPathアノテーションを配置してURIのその部分を構成できるようにする場所を提供する以外は何もしない空のApplicationConfigクラスを使用する(Netbeansではなく)例を見てきました。私がこれをすると、Netbeansは混乱するでしょうか?

3)Netbeansがこのクラスを作成するとき、Application.getClassesメソッドをオーバーライドするコードが含まれています。自動的に生成されたコードとまったく同じことを行う自分のコードを手動で作成するのは簡単です。私はそれが必要ですか?私の環境の

詳細は以下のとおりです。

  • 製品バージョン:NetBeans IDEの8.1(201510222201の構築)
  • 更新:NetBeans IDEのは、バージョンのNetBeans 8.1パッチ1
  • のJavaに更新されます1.8.0_92; Java HotSpot(TM)64ビットサーバーVM 25.92-B14
  • ランタイム:Javaの(TM)SEランタイム環境1.8.0_92-b14の
  • システム:Windows 7バージョン6.1 AMD64上で実行されています。 Cp1252; en_US(NB)
  • プロジェクトのタイプ:のJava EE 7のアプリケーション
  • サーバー:Wildfly 9.0.2

ありがとう!

ダンカン

答えて

1

はい、あなたはそれを手動で作成することができますが、あなたのWebServicesClassesと同じパッケージでそれを作成する必要があり、例:

import java.util.Set; 
import javax.ws.rs.core.Application; 

@javax.ws.rs.ApplicationPath("webresources") 
public class ApplicationConfig extends Application { 

    @Override 
    public Set<Class<?>> getClasses() { 
     Set<Class<?>> resources = new java.util.HashSet<>(); 
     addRestResourceClasses(resources); 
     return resources; 
    } 
    private void addRestResourceClasses(Set<Class<?>> resources) { 
     //add all resources classes 
     resources.add(jaca.server.webservice.PersonWebService.class); 
    } 
} 

清潔でプロジェクトをビルド、またはあなたのNetBeansを再起動しますので、最初の時間は機能しません。

+0

はい、それはしばらくしていますが、私はそれがまさに私がやったことだと思います。しかし、私は言う必要があります。答えは、「初回は動作しないためネットビーンを再起動します」とは、マイクロソフトが開発を引き継いだのかどうか疑問に思います。これは、開発者が見てみる必要があるものです。 – Duncan

0

注釈を追加した後、NetBeansはクラス名にヒントを追加します。そこには、ApplicationConfig.javaクラスおよびJerseyに関連するその他のオプションを追加するオプションが必要です。

0

NetBeansは私のためにApplicationConfig.javaを作成しませんでした。私がWebアプリケーションプロジェクトを作成したのは、で、次にが私のリソース(REST操作)を追加したことでした。

しかし、Webアプリケーションプロジェクトを作成し、独自のリソースを追加する前に 'パターンから新しいRESTful Webサービス' を追加すると、自動的にApplicationConfigが作成されます。

関連する問題