2015-08-27 10 views
5

मैप नहीं किया जा रहा है मेरे पास एक वसंत वेब एप्लिकेशन है, जिसमें कुछ नियंत्रक हैं। मेरी समस्या यह है कि पुनर्निर्माण करने की कोशिश करते समय .war को टॉमकैट (या बस पुनरारंभ करने के लिए) नियंत्रकों को पहली कोशिश से मैप नहीं किया जा रहा है। मुझे ऐप को फिर से नियोजित करना होगा या फिर अंततः फिर से शुरू करना होगा जब तक कि आखिरकार मैप नहीं किया जाता ... मुझे नहीं पता कि यह क्यों हो रहा है।जावा वसंत नियंत्रक को

मेरी नियंत्रकों में से एक:

@RestController 
@RequestMapping("kt") 
public class KTIntegrationController { 

    @Autowired 
    KtImportService importService; 

    @ExceptionHandler(ItemNotFoundException.class) 
    @ResponseStatus(value= HttpStatus.NOT_FOUND) 
    public RestError handleNotFoundException(ItemNotFoundException e) { 
     return new RestError(404, "NOT FOUND", e.getMessage()); 
    } 

    @RequestMapping(value="import/to-db", method=RequestMethod.POST) 
    public RestResponse<List<String>> loadToDB(@RequestParam("initiator") String initiator, 
          @RequestParam("process") String pid, 
          @RequestParam("category") String institution) throws KtImportException { 
     return new RestResponse<List<String>>(importService.loadToDB(initiator,pid,institution)); 
    } 

} 

बिलाव लॉग (जब नियंत्रक मैप नहीं किया गया था):

... 
... 
[12:47:40.887] INFO o.s.w.s.m.m.a.RequestMappingHandlerAdapter - Looking for @ControllerAdvice: org.springframework.boot[email protected]bf5b3f: startup date [Thu Aug 27 12:47:23 EEST 2015]; root of context hierarchy 
[12:47:41.107] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 
[12:47:41.108] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[text/html],custom=[]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest) 
[12:47:41.173] INFO o.s.w.s.h.SimpleUrlHandlerMapping - Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
[12:47:41.173] INFO o.s.w.s.h.SimpleUrlHandlerMapping - Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
[12:47:41.291] INFO o.s.w.s.h.SimpleUrlHandlerMapping - Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
[12:47:41.895] INFO o.s.j.e.a.AnnotationMBeanExporter - Registering beans for JMX exposure on startup 
[12:47:41.922] INFO o.s.boot.SpringApplication - Started application in 19.463 seconds (JVM running for 547.311) 
... 
... 

बिलाव लॉग (जब नियंत्रक मैप किया गया था):

... 
... 
[11:27:39.426] INFO o.s.w.s.m.m.a.RequestMappingHandlerAdapter - Looking for @ControllerAdvice: org.springframework.boot[email protected]1722a662: startup date [Thu Aug 27 11:27:28 EEST 2015]; root of context hierarchy 
[11:27:39.577] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/kt/import/to-db],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public com.gerasolutions.rest.RestResponse<java.util.List<java.lang.String>> com.gera.integration.rc.rest.controller.KTIntegrationController.loadToDB(java.lang.String,java.lang.String,java.lang.String) throws com.gera.integration.rc.core.domain.KtImportException 
... 
... 
[11:27:39.586] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 
[11:27:39.586] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[text/html],custom=[]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest) 
[11:27:39.634] INFO o.s.w.s.h.SimpleUrlHandlerMapping - Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
[11:27:39.635] INFO o.s.w.s.h.SimpleUrlHandlerMapping - Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
[11:27:39.706] INFO o.s.w.s.h.SimpleUrlHandlerMapping - Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
[11:27:40.009] INFO o.s.j.e.a.AnnotationMBeanExporter - Registering beans for JMX exposure on startup 
[11:27:40.022] INFO o.s.boot.SpringApplication - Started application in 12.283 seconds (JVM running for 19.89) 
... 
... 

मैं जवाब खोजने की उम्मीद न करें कि इसे कैसे ठीक किया जाए, क्योंकि यह एक बहुत भ्रमित बग है (ठीक है, कम से कम मेरे लिए), लेकिन कुछ विचार या पॉइंटर्स जहां मैं दिखना शुरू कर सकता हूं वह सबसे अधिक खुशहाल होगा।

--EDIT--

परियोजना संरचना:

app 
    -> src 
     -> main 
      -> java 
       -> com.app.a 
        -> c 
         -> config 
          -> Config.class 
        -> r 
         -> controller 
          -> Controller.class 
        Application.class 
        ServletInitialiazer.class 
      -> resources 
      -> webapp (this is empty) 

Application.class:

@Configuration 
@ComponentScan(basePackages={"com.app.a.*"}) 
@EnableAutoConfiguration 
public class Application { 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 
} 

ServletInitializer.class:

public class ServletInitializer extends SpringBootServletInitializer { 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
     return application.sources(Application.class); 
    } 

} 

Config.class डेटा स्रोत है और ओथ आर बीन्स इसमें परिभाषित किया गया। , सब कुछ काम करता है, नियंत्रकों हमेशा से रहे हैं mvn spring-boot:run: अगर मैं बस अपने लैपटॉप से ​​इस एप्लिकेशन .war बूट (इस बग को प्रभावित नहीं होना चाहिए)

--EDIT--

इतना ही नहीं, कमांड लाइन का उपयोग कर पहली कोशिश से मैप किया जा रहा है।

उदहारण के लिए:

उत्तर

1

समाधान:

मेरे वसंत वेब अनुप्रयोग कुछ जावा परियोजनाओं (Maven के माध्यम से शामिल जार) कि मैंने लिखा उपयोग कर रहा है। समस्या यह थी कि इसमें जार शामिल थे, जिनका प्रयोग सामान्य जावा पुस्तकालयों जैसे कि वसंत-बूट परियोजनाओं में किया जाता है। जावा परियोजनाओं से वसंत-बूट को हटाकर, जो वसंत-बूट का उपयोग कर रहे थे, ने इस मुद्दे को हल किया।

0

एक बात जो मैं त्रुटियों के इन प्रकार के साथ अतीत में काम करने के लिए मिल गया है पैकेज स्कैनिंग के विवरण के स्तर को बदलने के लिए है

@ComponentScan(basePackages={"com.app"}) 

मुझे पता है कि यह विचित्र है लेकिन यह अतीत में मेरे लिए काम करता है। मुझे नहीं पता कि यह क्यों होता है। समस्या का

+0

दुर्भाग्य से, यह काम नहीं प्रतीत होता है। उल्लेख करने के लिए भूल गए, कि यह ऐप बहुत ही समान संरचना वाले किसी अन्य प्रोजेक्ट पर निर्भर करता है। तो घटक स्कैन इस तरह दिखता है: '@ कॉम्पोनेंटस्कैन (बेसपैकेज = {"com.app.a. *", "com.app.a.services"})' com.app.a.services अन्य प्रोजेक्ट में है (जार फ़ाइल शामिल है मेवेन depenceny के माध्यम से) – CrazySabbath

संबंधित मुद्दे