2013-09-06 4 views
1

У меня есть контроллеры с подсветкой, которые отлично работают, когда я использую свою WAR, но когда я пытаюсь запустить встроенный, локально и на Heroku, ни один из аннотированных контроллеров не работает. У меня есть некоторые настройки страниц, используя mvc:view-controller, и они работают, но ни один из контроллеров component-scan не работает.Контроллеры Spring Annotated, не работающие с Tomcated Embedded on Heroku

package com.myapp.launch; 

import java.io.File; 

import javax.servlet.ServletException; 

import org.apache.catalina.LifecycleException; 
import org.apache.catalina.startup.Tomcat; 

public class Main { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     String webappDirLocation = "src/main/webapp/"; 
     Tomcat tomcat = new Tomcat(); 

     //The port that we should run on can be set into an environment variable 
     //Look for that variable and default to 8080 if it isn't there. 
     String webPort = System.getenv("PORT"); 
     if(webPort == null || webPort.isEmpty()) { 
      webPort = "8080"; 
     } 

     tomcat.setPort(Integer.valueOf(webPort)); 

     try { 
      tomcat.addWebapp("/", new File(webappDirLocation).getAbsolutePath()); 
     } catch (ServletException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     System.out.println("configuring app with basedir: " + new File("./" + webappDirLocation).getAbsolutePath()); 

     try { 
      tomcat.start(); 
     } catch (LifecycleException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     tomcat.getServer().await(); 


    } 

} 

Вот часть моей конфигурации пружин.

<mvc:view-controller path="/" view-name="home"/> 
<mvc:view-controller path="/terms" view-name="terms"/> 
<mvc:view-controller path="/privacy" view-name="privacy"/> 

<context:component-scan base-package="com.myapp.controllers"/> 

ответ

0

я узнал, что это было связанно с моими контроллерами будучи заводным, и эти контроллеры были составленным в рамках этапа макияжа, когда я был под управление котом на месте, но тот же самый процесс, не будучи бежать, когда я запустил кот встроенный. После добавления цели выполнения в мой плагин gmaven я смог получить эту работу без проблем.

Поскольку классы были составлены gmaven, то tomcat смог их забрать.

Смежные вопросы