gradle应用程序插件摇摆并创建以下目录结构
app bin-启动服务器lib的脚本-jar文件{来自src / dist的其他所有内容都进入了app}
我不知道的是脚本不会使服务器在app目录中运行,这很烦人。有没有一种方法可以对其进行配置并在app目录中运行?(或一种使它的方法将bin目录中的user.dir设置为..相对)。
这非常令人沮丧,因为我必须做某种检查和错误才能说程序必须从应用目录运行,这样我才知道如何查找文件。
现在,如果您具有-Dlogback.configurationFile = config / logback.xml属性
并且您从计算机上除应用程序目录之外的任何位置运行启动脚本,日志记录将静默停止工作。
谢谢,院长
以下代码为我工作(仅在linux上进行了测试,不确定Windows部分(
// set user.dir to the distribution directory so that the config directory can be located
CreateStartScripts startScripts = project.startScripts
startScripts.with {
doLast {
unixScript.text = unixScript.text.replaceFirst('(?<=DEFAULT_JVM_OPTS=)((\'|\")(.*)(\'|"))(?=\n)',
"-Duser.dir=$APP_HOME")
windowsScript.text = windowsScript.text.replaceFirst('(?<=DEFAULT_JVM_OPTS=)(.*)(?=\r\n)',
'-Duser.dir=%APP_HOME%')
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句