我有一个在开发模式下正确运行的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认为它正在处理两个块并允许它进行处理.