【问题标题】:gradle generated startScript for windows produces "input line is too long"gradle 为 windows 生成 startScript 产生“输入行太长”
【发布时间】:2015-08-19 07:22:23
【问题描述】:
使用版本:
springBoot = 1.2.3.RELEASE
gradle = 2.3
在构建自执行 springBoot 分发(gradle 任务 bootRepackage)时,在 windows 启动批处理中 gradle 生成的类路径非常巨大,这导致 windows 中止启动脚本并出现错误“输入行太长”。
如何解决这个限制?
【问题讨论】:
标签:
windows
command-line
gradle
spring-boot
【解决方案1】:
我通过将巨大的类路径缩短为一个简单的类路径来操作生成的 Windows 启动批处理,找到了以下解决方案
%APP_HOME%\lib\*
这是从 java6 开始允许的。
startScripts {
doLast {
def winScriptFile = file getWindowsScript()
def winFileText = winScriptFile.text
winFileText = winFileText.replaceAll('set CLASSPATH=.*', 'rem original CLASSPATH declaration replaced by:\nset CLASSPATH=%APP_HOME%\\\\lib\\\\\\*')
winScriptFile.text = winFileText
}
}