我有一个在开发模式下正确运行的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 |
+----------------------+-------+-------+
答案 0 :(得分:2)
似乎这是版本prior to 2.3.7的grails错误,但它已在2.3.7及更高版本中修复。 您有两个选项升级或按照以下步骤
</P>
之后等)。 这将使Grails认为它处理了两个块并允许它被处理。
答案 1 :(得分:0)
我之前见过这个。正是@tim_yates所评论的!重构了一些gsp [包括例如],一切都很好。另外,对此进行一些研究后,我发现了一些有关DataOutputStream.java的有趣内容。它似乎有一个64kb limit的String对象。
也许this也可以帮到你。
干杯!
答案 2 :(得分:0)
我从来不知道问题是什么,我所做的就是把所有需要的文件移到一个全新的项目中,这个错误就消失了!