2016-02-04 2 views
1

Я создал приложение Grails 3 (.1.0).Grails3 с приложением.groovy показывает искаженные страницы в Tomcat

Когда я сделал следующие шаги:

  • Replace по умолчанию application.yaml с эквивалентным application.groovy
  • Генерировать войной файл
  • Deploy войны файл в Tomcat 8 (.0.30)
  • Откройте страницу приложения (http://localhost:8080)

Затем я получил страницу, на которой m Исследует все стиль и javascript. Blank Grails page

Что я делаю неправильно? Что-то не так с моим application.groovy?

grails { 
    profile = "web" 
    codegen { 
     defaultPackage = "empty31" 
    } 
} 

info { 
    app { 
     name = 'empt31' 
     version = '0.1' 
     grailsVersion = '3.1.0' 
    } 
} 

spring { 
    groovy { 
     template['check-template-location'] = false 
    } 
} 

server { 
    contextPath = '/empty31' 
} 

grails { 
    mime { 
     disable { 
      accept { 
       header { 
        userAgents = ['Gecko', 'WebKit', 'Presto', 'Trident'] 
       } 
      } 
     } 

     types { 
      all = '*/*' 
      atom = 'application/atom+xml' 
      css = 'text/css' 
      csv = 'text/csv' 
      form = 'application/x-www-form-urlencoded' 
      html = ['text/html', 'application/xhtml+xml'] 
      js = 'text/javascript' 
      json = ['application/json', 'text/json'] 
      multipartForm = 'multipart/form-data' 
      rss = 'application/rss+xml' 
      text = 'text/plain' 
      hal = ['application/hal+json', 'application/hal+xml'] 
      xml = ['text/xml', 'application/xml'] 
     } 
    } 
    urlmapping { 
     cache { 
      maxsize = 1000 
     } 
    } 
    controllers { 
     defaultScope = 'singleton' 
    } 
    converters { 
     encoding = 'UTF-8' 
    } 
    views { 
     'default' { codec = 'html' } 
     gsp { 
      encoding = 'UTF-8' 
      htmlcodec = 'xml' 
      codecs { 
       expression = 'html' 
       scriptlets = 'html' 
       taglib = 'none' 
       staticparts = 'none' 
      } 
     } 
    } 
} 

endpoints { 
    jmx['unique-names'] = true 
} 

hibernate { 
    cache { 
     queries = false 
     use_second_level_cache = true 
     use_query_cache = false 
     region.factory_class = 'org.hibernate.cache.ehcache.EhCacheRegionFactory' 
    } 
} 

dataSource { 
    pooled = true 
    jmxExport = true 
    driverClassName = "org.h2.Driver" 
    username = 'sa' 
    password = '' 
} 

environments { 
    development { 
     dataSource { 
      dbCreate = 'create-drop' 
      url = 'jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE' 
     } 
    } 
    test { 
     dataSource { 
      dbCreate = 'update' 
      url = 'jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE' 
     } 
    } 
    production { 
     dataSource { 
      dbCreate = 'update' 
      url = 'jdbc:h2:./prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE' 
      properties { 
       jmxEnabled = true 
       initialSize = 5 
       maxActive = 50 
       minIdle = 5 
       maxIdle = 25 
       maxWait = 10000 
       maxAge = 600000 
       timeBetweenEvictionRunsMillis = 5000 
       minEvictableIdleTimeMillis = 60000 
       validationQuery = 'SELECT 1' 
       validationQueryTimeout = 3 
       validationInterval = 15000 
       testOnBorrow = true 
       testWhileIdle = true 
       testOnReturn = false 
       jdbcInterceptors = 'ConnectionState' 
       defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED 
      } 
     } 
    } 
} 

ответ

0

Что произойдет, если вы вернетесь к application.yml?

+0

был на моем пути сегодня, чтобы проверить обе версии (.groovy и .yml) и добавить скриншоты с Chrome Devtools панель открыта. Но проблемы с другим поддерживаемым нами программным обеспечением занимали все мое время. Будет проходить тест в понедельник. –

0

Похоже, что что-то пошло с haywire с конвейером вашего имущества. Попробуйте приложение grails run-app или запустите войну напрямую - если это работает, вероятно, это ошибка с конвейером, которую мы когда-то избегали, пропустив версию grails (что-то вроде от 3.0.3 до 3.0.7).

Вы также можете попытаться отключить пакетирование с grails.assets.bundle = ложь и посмотреть, если это помогает на данный момент;)

Проверьте gradle.build для

apply plugin: "asset-pipeline" 

assets { 
    minifyJs = true 
    minifyCss = true 
} 

dependencies { 
    ... 
    runtime "org.grails.plugins:asset-pipeline" 
    ... 
} 

Было бы также быть интересным, если обращение к application.yml устраняет проблему, так как эта ошибка может возникнуть в то время, когда мы ввели плагин весеннего ядра безопасности, который выводит приложение из ящика ...

EDIT1: Здесь версии активов мы в настоящее время работают с

buildscript { 
    dependencies { 
     classpath 'com.bertramlabs.plugins:asset-pipeline-gradle:2.0.20' 
    } 
} 

plugins { 
    id 'com.bertramlabs.asset-pipeline' version '2.5.0' 
} 
+0

Грабли run-app работают правильно. Я также попытался вернуться к плагину активов 3.0.1, как это было предложено для работы по проблеме Grails, но это не помогло. Попробуем grails.assets.bundle = false –

+0

Я добавил grails.assets.bundle = false для приложения.groovy, но все тот же результат –

+0

Возвращение обратно к application.yml на самом деле не является вариантом, потому что мы хотим использовать как плагин joda-time, так и плагин sprint-security-core. И, по крайней мере, для плагина joda-time я не знаю, как сопоставить сопоставления пользовательского типа с использованием .yml (поскольку это по умолчанию закрытие) –

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