我使用的是grails 2.3.4,mysql是mysql:mysql-connector-java:5.1.24'
并且有163个gsp文件,每次当我以war<运行脚本时
或任何其他创建 war 文件,它显示以下错误
.Error
|
WAR packaging error: encoded string too long: 70621 bytes
并且没有任何超过 64kb 的 gsp 文件,并且我已经在 buildconfig.groovy
中评论了 grails.project.fork
但我仍然遇到问题,请帮助。
最佳答案
我怀疑这是否是您想要看到的答案:) 我无法想象您有充分的理由接近普惠制的最大规模。您甚至不应该知道这个数字是多少,只是知道它比您需要的要高得多。
在这些巨大的页面中,您要么拥有大量代码,要么拥有大量 HTML(或两者兼而有之)。有很多明显的策略可以帮助您节食 GSP。使用 taglib 将大量代码(根本不应该在 GSP 中使用,这不是 PHP)从 View 渲染层移至其所属的 Controller 和服务层。您可以将静态和大部分静态的 HTML block 提取到包含/模板中。
这里可能也有很多重复的工作 - 如果没有大量的 copypasta,很难获得这么大的文件。当文件变得非常大时,就很难保持对文件所在位置的整体感知——我们的大脑在过载之前只能处理一定量的数据。你还可能会开始把小东西和没吃完的午餐放在那里,这只会让事情变得更糟。
如果您没有时间进行该项目可能需要的重大重构(如果您已经偏离了轨道),即使是快速简单地迁移到标签库和模板,而不需要太多考虑正确的工程设计,工作也会让事情顺利进行。至少在你再次达到极限之前:)
关于mysql - war 包装错误grails 2.3.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26250823/