groovy
groovy学习资料:
The Apache Groovy programming language - Documentation
GStringTemplateEngine (Groovy 4.0.0)
模版中map的处理可参考:
groovy-map.each{}_weixin_30687051的博客-CSDN博客
模版中list的处理可参考:
https://blog.csdn.net/coderinchina/article/details/92081323
依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-groovy-templates</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-ant</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-json</artifactId>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.9.1-01</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>2.3.7-01</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.9.1-01</version>
<extensions>true</extensions>
</plugin>
创建目录:
File dir=File.createTempFile('tmp', '', new File(“路径”))
dir.mkdirs()
在父目录下创建目录:
File childDir= new File(rootDir, “子目录名称”)
childDir.mkdirs()
在目录下创建文件并写入内容【写入一个xml文件,这边使用groovy进行字符串替换模版占位符】:
String yhXml=“ceshi/pom.xml”
Map model;//model中可以存储模版中对应的内容
groovy进行字符串替换模版占位符:
//处理模版源文件
//获取模版
GStringTemplateEngine templateEngine=new GStringTemplateEngine()
Template template
def classLoader = GroovyTemplate.class.classLoader
def resource = classLoader.getResource(name)
if (resource) {
template =engine.createTemplate(resource)
}
template =engine.createTemplate(name)
//字符串替换模版占位符
Writable writable=template.make(model)
def result = new StringWriter()
writable.writeTo(result)
String pom = new String(result.toString())
//在目录下将pom内容写入创建文件中
new File(childDir, 'pom.xml').write(pom)