2017-06-05 5 views
0

私はmavenとSpringを使用してWebアプリケーションを構築しています。私は私のサービスモジュールにDTOを持っていると私は私のWebモジュールでそれを使用したいので、私はこのようなサービスとの依存関係を入れている:java.lang.NoClassDefFoundError on maven spring webapp

:私はそれを使用する私のコントローラで

<dependency> 
    <groupId>my.web</groupId> 
    <artifactId>my.service</artifactId> 
    <version>1.0.0</version> 
</dependency> 

UserDTO u1 = new UserDTO(1,"User 1", "New User"); 

しかし、私は取得しています:

java.lang.NoClassDefFoundError: my/service/dto/UserDTO 
my.web.controllers.Controller.home(Controller.java:38) 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
java.lang.reflect.Method.invoke(Method.java:498) 
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690) 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945) 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876) 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:635) 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 

は、それを解決する方法がわかりません。多分何かが悪いですか?

+0

を再パッケージ追加して、あなたがspringbootを使用している場合は、エラーが正常に何を意味するか理解していますか? –

+0

何らかの理由で、UserDTOの.classが要求されたときに利用できないことを意味します。 – Manu

+0

利用できるはずですか? jarファイルはデプロイメントの一部ですか? –

答えて

0

複数のモジュールが

  <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>repackage</goal> 
        </goals> 
        <configuration> 
         <classifier>exec</classifier> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

その行を追加しましたが、同じエラーが表示されます。 – Manu

+0

追加後に完全に再構築しようとしましたか?ルートモジュールに追加されましたか? – StanislavL

+0

パッケージ化された.jarまたは.warを参照して、そこにクラスが表示されるかどうかを確認します。 –