2017-09-02 15 views
0

でのRESTful Webサービスの私は、次のような最も簡単なRESTfulなWebサービスを持っている:ペーシュ・カショーロ/ GlassFishの

@Stateless 
@Path("/list/instruments") 
public class InstrumentsProvider { 

@GET 
@Produces({MediaType.APPLICATION_JSON}) 
public String getAvailableInstruments() { 

[..] 

} 

@ApplicationPath("/rest") 
public class RestApplication extends Application { 
    @Override 
    public Set<Class<?>> getClasses() { 
     final Set<Class<?>> classes = new HashSet<>(); 
     classes.add(InstrumentsProvider.class); 
     return classes; 
    } 
} 

応じpom.xmlは次のようになります。

[..] 
<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-ejb-plugin</artifactId> 
       <configuration> 
        <ejbVersion>3.1</ejbVersion> 
        <archive> 
         <manifest> 
          <addClasspath>true</addClasspath> 
         </manifest> 
        </archive> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
[..] 

このejbをearファイル内にデプロイします。耳pom.xmlは次のようになります。

[..] 
<build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-ear-plugin</artifactId> 
       <version>2.10.1</version> 
       <configuration> 
        <modules> 
         <ejbModule> 
          <groupId>com.cmehistory</groupId> 
          <artifactId>rest-server</artifactId> 
         </ejbModule> 
        </modules> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
[..] 

結果earがよさそうだ、それはすべて私のライブラリやEJB jarが含まれています。

Payara Server 4.1.2.173 #badassfish (build 24)に展開すると、サーバーログに展開が成功したことが報告されます。

しかし、ウェブサービスはそこにはないようです。

[mydomain]:8080/rest/list/instruments/私もまた私は、Webサービスにも存在しない場合、私は、正しいURLを見つけることがちょうどができません場合や、わからない404

をエラー与え[mydomain]:8080/ear-0.0.1-SNAPSHOPT.jar/ejb-0.0.1-SNAPSHOT.jar/rest/list/instruments/を試みたリターン404

今のところ耳の中に戦争ファイルはなく、ただejbです。私はこれが問題を引き起こす可能性があると読んでいたが、私はこの事件にも当てはまるとは確信していない。

答えて

0

ejbモジュールearにパッケージ化すると、が機能しません。彼らは、動作するウェブコンテンツを提供するwarアーカイブが必要です。

Webサービスだけでejbモジュールが含まれていwar(なしearアーカイブ、内側に詰めることができる、スリムなウェブUIを維持します。