grails – “错误编译错误:编码字符串太长:”进行构建时

我有一个在开发模式下正确运行的Grails项目,但是当我尝试创建一个war文件时,它会给我以下消息并停止构建

| Compiling 1 source files
| Compiling 1 source files.
| Compiling 1 source files..
| Compiling 1 source files...
| Compiling 1 source files....
| Compiling 1 source files.....
| Compiling 16 GSP files for package [ProjectName]
| Compiling 16 GSP files for package [ProjectName].
| Error Compilation error: encoded string too long: 108421 bytes

Grails没有给我任何关于哪个GSP或线路有问题的信息,有人看到过这种情况吗?

这是grails的统计数据,我想说这是一个相当小的项目

+----------------------+-------+-------+
| Name                 | Files |  LOC  |
+----------------------+-------+-------+
| Controllers          |     6 |   624 | 
| Domain Classes       |     6 |   109 | 
| Java Helpers         |     1 |    96 | 
| Unit Tests           |    12 |   565 | 
| Scripts              |     1 |     4 | 
+----------------------+-------+-------+
| Totals               |    26 |  1398 | 
+----------------------+-------+-------+

最佳答案 这似乎是版本
prior to 2.3.7的grails bug,但它已在2.3.7及更高版本中修复.

您有两个升级选项或按照以下步骤操作

>查找文件大小超过64K的所有gsp页面.
>添加<%/ *注释以打破静态gsp块* /%>到静态页面的中间(将其添加到html标记的末尾,例如在< / P>等之后).

这将使grails认为它正在处理两个块并允许它进行处理.

点赞