我正在使用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文件,我已在grails.project.fork
中评论了buildconfig.groovy
,但我仍然遇到问题请帮助。
答案 0 :(得分:1)
我怀疑这是你想要看到的答案:)我无法想象你有充分的理由想要接近GSP的最大尺寸。你甚至不应该知道这个数字是多少,只是它比你需要它的方式更高。
您在这些巨大的网页中获得了大量代码或大量HTML(或两者)。有很多明显的策略可以让你的GSP节食。使用taglib将很多代码(在GSP中根本不应该使用,这不是PHP)从视图呈现层移出到它所属的控制器和服务层。您可以将静态和大多数静态HTML块提取到包含/ templates。
这里可能还有很多重复的工作 - 如果没有大量的copypasta,很难获得这么大的文件。随着文件变得非常大,很难保持对什么地方的整体感觉 - 我们的大脑在重载之前只能处理一定数量的数据。你也倾向于开始错放小物件并在那里部分吃午餐,这只会让事情变得更糟。
如果您没有足够的时间进行重大重构,那么如果您已经远远超出此项目可能需要的话,即使是快速简单地转移到taglib和模板,也不必过多考虑正确设计工作会让事情顺利进行。至少在你再次达到极限之前:)