2017-05-19 4 views
0

私はresteasy-servlet-intiallerを使っているとか、RestEasyBootstrapを使っているものもありますが、それは私のクレイジーを運転する。助けてもらえますか?Tomcat 9.0でRESTEasyアプリケーションを展開するにはどうすればいいですか?

<servlet> 
    <servlet-name>Resteasy</servlet-name> 
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    <init-param> 
     <param-name>javax.ws.rs.Application</param-name> 
     <param-value>com.restfully.shop.services.ShoppingApplication</param-value> 
    </init-param> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Resteasy</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

と、これは単にアプリケーションです:

@ApplicationPath("/services") 
public class ShoppingApplication extends Application { 

    private Set<Object> singletons =new HashSet<Object>(); 
    private Set<Class<?>> empty=new HashSet<Class<?>>(); 

    public ShoppingApplication() 
    { 
     singletons.add(new CustomerResource()); 
    } 

    @Override 
    public Set<Class<?>> getClasses() { 
     return empty; 
    } 

    @Override 
    public Set<Object> getSingletons() { 
     return singletons; 
    } 
} 

、ここではGradleのです:

dependencies { 
    compile group:'org.jboss.resteasy',name:'resteasy-jaxrs',version:'3.1.2.Final' 
    compile group:'org.jboss.resteasy',name:'resteasy-jackson-provider',version:'3.1.2.Final' 
    compile group:'org.jboss.resteasy',name:'resteasy-guice',version:'3.1.2.Final' 
    compile group: 'org.jboss.resteasy',name:'resteasy-servlet-initializer',version:'3.1.2.Final' 
    testCompile group: 'junit', name: 'junit', version: '4.11' 
} 

答えて

0

それが原因あなたのweb.xml構成に冗長なので、@ApplicationPath注釈を削除します。

および変更のweb.xmlへ:

<context-param> 
    <param-name>resteasy.servlet.mapping.prefix</param-name> 
    <param-value>/services</param-value> 
</context-param> 

<servlet> 
    <servlet-name>Resteasy</servlet-name> 
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    <init-param> 
     <param-name>javax.ws.rs.Application</param-name> 
     <param-value>com.restfully.shop.services.ShoppingApplication</param-value> 
    </init-param> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Resteasy</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
</servlet-mapping> 

お知らせ更新のurl-pattern。

+0

繰り返し注釈を削除して、url-patternと同様にcontext-paramを更新します。Tomcatのログからヒントやログ情報が必要になると思いますが、私はそれにアクセスしようとすると、404 – GyxLove521

+0

と表示されますが、情報 "org.apache.jasper.servlet.TldScanner.scanJarsがあります。少なくとも1つのJARがTLDをスキャンしましたが、TLDは含まれていませんでした。" – GyxLove521

+0

@ GyxLove521あなたは、アクセスしようとしていますか?そして、更新された_web.xml_ファイルとリソースクラスで質問を更新してください。 –

関連する問題