2017-09-29 9 views
0

Tomcatでテストアプリケーションを実行するたびにメインページに移動できますが、api/restパスに移動しようとするたびにAppConfigが見つからないため500エラーが発生しました。私はこれが私のディレクトリが設定されていることと関係していると信じています。Jersey web.xmlアプリケーションの問題

は私のXMLはApplicationConfigが

package config; 
import java.util.HashSet; 
import java.util.Set; 

import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Application; 

import service.TestService; 

@ApplicationPath("/rest") 
public class ApplicationConfig extends Application{ 

    @Override 
    public Set<Class<?>> getClasses() { 
     Set<Class<?>> s = new HashSet<Class<?>>(); 
     s.add(TestService.class); 
     return s; 
    } 

} 

を提出された問題はPARAM-valueタグここ

であるXMLでこの

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    id="WebApp_ID" version="3.0"> 
    <display-name>FACHybrid</display-name> 
    <servlet> 
     <servlet-name>Jersey REST Service</servlet-name> 
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
     <init-param> 
      <param-name>javax.ws.rs.Application</param-name> 
      <param-value>java.config.ApplicationConfig</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Jersey REST Service</servlet-name> 
     <url-pattern>/api/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

のように見えると私のディレクトリは、次のようになり

enter image description here

コンソールでエラー

java.lang.ClassNotFoundException: java.config.ApplicationConfig 
+0

は 'java'は、パッケージ名の一部ではありません。すべてのJavaファイルが移動するディレクトリです。 –

答えて

0

私はこの問題は、あなたのweb.xmlにあると思います。 ApplicationConfigクラスの完全修飾名が間違っています。 config.ApplicationConfig

変更それを -

<init-param> 
     <param-name>javax.ws.rs.Application</param-name> 
     <param-value>config.ApplicationConfig</param-value> 
    </init-param> 
関連する問題