2016-10-30 11 views
0

Я новичок в GRAILS, но я создал простое приложение, и я пытаюсь развернуть его на tomcat.URL-адрес карты, разбитый на действия, отличные от индекса в автономном WAR для Grails 3 App

Если я запустить приложение с помощью:

grails prod run-app 

все работает отлично. Тем не менее, если я построю его военный файл

grails prod war 

затем либо загрузить военный пакет на сервер Tomcat или запустить его прямо как

java -Dgrails.env=prod -jar build\lib\app.war 

тогда я получаю это странное поведение, где все кажется штраф в сначала, но всякий раз, когда я нажимаю ссылку для действия, отличного от индекса, я получаю ошибку 404. .

 webapp:8080/employee   WORKS 
    webapp:8080/employee/index  WORKS 
    webapp:8080/employee/show/1 404 error 
    webapp:8080/department   WORKS 
    webapp:8080/department/show/1 404 error 

т.д.

В приведенном выше примере веб-приложение: 8080/сотрудник/шоу/1 обязательно должны быть найдены, так как она указана и связана с таблицей в индексе.

У меня возникло огромное количество проблем, связанных с тем, что я не могу найти обратную связь от работающего файла войны, независимо от того, запускаю ли я его в tomcat или напрямую, даже если я перемещаю среду для тестирования или dev. Theres просто ничего в файлах журналов или stdout.

Вот мои UrlMappings

package generico 

class UrlMappings { 

    static mappings = { 
     "/$controller/$action?/$id?(.$format)?"{ 
      constraints { 
       // apply constraints here 
      } 
     } 

     // "/"(view:"/index") 
     "/"(controller:"employee", action:"index") 
     "500"(view:'/error') 
     "404"(view:'/notFound') 
    } 
} 

Опять же, все работает абсолютно нормально, если я «Grails выполнения приложения» для любой среды.

Я ценю любую помощь. Благодарю.

ответ

0

Моя проблема была с Grails 3.2.1. После того, как я обновился до Grails 3.2.2, сделал град чистой, затем переупакован, все работает нормально.

0

У меня такая же проблема с Grails 3.2.2.

Невозможно загрузить "/". Я использую пространство имен так что мое отображение выглядит

"/"(namespace: 'corp', controller: 'index', action: 'index') 

с

com.example.corp.IndexController { 
    static namespace = 'corp' 
    def index() {) 
} 

Все правильно работает в любой среде с Grails запустить приложение, но когда я война и запустить это дает мне страницу ошибки.

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

  • Нет связанных вопросов^_^