如何让 Lazybones 创建多模块 Java EE 7 Gradle 项目?
How do I get Lazybones to create Multi Modular Java EE 7 Gradle Projects?
这是我在 github 中的存储库:https://github.com/joedayz/lazybones-templates/
我根据文档使用了 processTemplates
processTemplates 'build.gradle', props
processTemplates 'gradle.properties', props
processTemplates 'src/main/java/*.java', props
processTemplates 'settings.gradle', props
我要求用户提供以下信息:
props.project_megaproceso = ask("Define value for 'megaproceso' [megaproceso]: ", "megaproceso", "megaproceso")
props.project_macroproceso = ask("Define value for 'macroproceso' [macroproceso]: ", "macroproceso", "macroproceso")
props.project_proceso = ask("Define value for 'proceso' [proceso]: ", "proceso", "proceso")
megaproceso2、macroproceso、proceso 是我模板中的目录或文件名的一部分。
如何更改解压目录和文件的名称?代码在我的 github.
Lazybones 的 post 安装脚本目前可以完全访问标准 JDK 类 和 Apache Commons IO 库,专门用于辅助文件操作。
在这种特定情况下,您可以使用 File.renameTo()
或 FileUtils.moveFile/Directory()
。例如:
def prevPath = new File(projectDir, "megaproceso2-macroproceso-proceso.ear")
prevPath.renameTo(new File(
projectDir,
"${props.megaproceso}-${props.macroproceso}-${props.processo}.ear"))
projectDir
变量是注入到 post-install 脚本中的几个属性之一。您可以在 Template Developers Guide.
中找到它们的列表
我认为 FileUtils.moveFile()
的主要优点是即使您跨设备移动文件,它也能正常工作,但这在这里不是必需的。另请注意,如果要使用它们,则必须从 Commons IO 显式导入 类。
这是我在 github 中的存储库:https://github.com/joedayz/lazybones-templates/
我根据文档使用了 processTemplates
processTemplates 'build.gradle', props
processTemplates 'gradle.properties', props
processTemplates 'src/main/java/*.java', props
processTemplates 'settings.gradle', props
我要求用户提供以下信息:
props.project_megaproceso = ask("Define value for 'megaproceso' [megaproceso]: ", "megaproceso", "megaproceso")
props.project_macroproceso = ask("Define value for 'macroproceso' [macroproceso]: ", "macroproceso", "macroproceso")
props.project_proceso = ask("Define value for 'proceso' [proceso]: ", "proceso", "proceso")
megaproceso2、macroproceso、proceso 是我模板中的目录或文件名的一部分。
如何更改解压目录和文件的名称?代码在我的 github.
Lazybones 的 post 安装脚本目前可以完全访问标准 JDK 类 和 Apache Commons IO 库,专门用于辅助文件操作。
在这种特定情况下,您可以使用 File.renameTo()
或 FileUtils.moveFile/Directory()
。例如:
def prevPath = new File(projectDir, "megaproceso2-macroproceso-proceso.ear")
prevPath.renameTo(new File(
projectDir,
"${props.megaproceso}-${props.macroproceso}-${props.processo}.ear"))
projectDir
变量是注入到 post-install 脚本中的几个属性之一。您可以在 Template Developers Guide.
我认为 FileUtils.moveFile()
的主要优点是即使您跨设备移动文件,它也能正常工作,但这在这里不是必需的。另请注意,如果要使用它们,则必须从 Commons IO 显式导入 类。