使用gradle将jrxml转换为jasper
在gradle中尝试使用ant任务编译jrxml时,jasper文件没有生成。在gradle控制台中可以看到以下错误。请提供这方面的建议。下面是gradle构建文件与ant任务的错误 注意:所有必需的jasper和其他依赖项jar都放在libs目录下 错误:使用gradle将jrxml转换为jasper,gradle,ant,jasper-reports,Gradle,Ant,Jasper Reports,在gradle中尝试使用ant任务编译jrxml时,jasper文件没有生成。在gradle控制台中可以看到以下错误。请提供这方面的建议。下面是gradle构建文件与ant任务的错误 注意:所有必需的jasper和其他依赖项jar都放在libs目录下 错误: 2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] ERROR: Could not c
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] ERROR: Could not compile report [/builds/DFSDocker.Admin/rhel_dec_release/compileux/customjrxml/src/main/jasperreports/UBBDFail.jrxml]. Exception: net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] calculator_UBBDFail_1603897790979_43679: 24: unable to resolve class net.sf.jasperreports.compilers.GroovyEvaluator
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] @ line 24, column 1.
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] calculator_UBBDFail_1603897790979_43679: 34: unable to resolve class JRFillParameter
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] @ line 34, column 5.
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] calculator_UBBDFail_1603897790979_43679: 35: unable to resolve class JRFillParameter
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] @ line 35, column 5.
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] calculator_UBBDFail_1603897790979_43679: 36: unable to resolve class JRFillParameter
2020-10-28T15:09:51.520+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] @ line 36, column 5.
2020-10-28T15:09:51.521+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] calculator_UBBDFail_1603897790979_43679: 37: unable to resolve class JRFillParameter
2020-10-28T15:09:51.521+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] @ line 37, column 5.
2020-10-28T15:09:51.521+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] calculator_UBBDFail_1603897790979_43679: 38: unable to resolve class JRFillParameter
2020-10-28T15:09:51.521+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] @ line 38, column 5.
2020-10-28T15:09:51.521+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] calculator_UBBDFail_1603897790979_43679: 39: unable to resolve class JRFillParameter
2020-10-28T15:09:51.521+0000 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:jrc] @ line 39, column 5.
构建.渐变:
apply plugin: 'java'
repositories {
mavenCentral()
flatDir {
println 'in repositories'
dirs 'libs'
}
}
configurations.create('jasperreports')
configurations.jasperreports {
transitive = true
}
dependencies {
jasperreports fileTree(dir: 'libs',include: '*.jar')
}
task compileJasperJava {
def jasperSourceDir = file('customjrxml/src/main/jasperreports')
def jasperTargetDir = file('customjrxml/build/classes/main/jasperreports')
def compiler = file('customjrxml/build/classes/main/jasperreports')
ant {
taskdef(name: 'jrc', classname: 'net.sf.jasperreports.ant.JRAntCompileTask', classpath: configurations.jasperreports.asPath)
jasperTargetDir.mkdirs()
jrc(srcdir: jasperSourceDir, destdir:jasperTargetDir,compiler:'net.sf.jasperreports.compilers.JRGroovyCompiler') {
include(name:'**/*.jrxml')
}
}
}
classes.dependsOn compileJasperJava
在build.gradle下面添加高亮显示(类路径块-使用前删除**)解决了jasper生成问题
apply plugin: 'java'
repositories {
mavenCentral()
flatDir {
println 'in repositories'
dirs 'libs'
}
}
configurations.create('jasperreports')
configurations.jasperreports {
transitive = true
}
dependencies {
jasperreports fileTree(dir: 'libs',include: '*.jar')
}
task compileJasperJava {
def jasperSourceDir = file('customjrxml/src/main/jasperreports')
def jasperTargetDir = file('customjrxml/build/classes/main/jasperreports')
ant {
taskdef(name: 'jrc', classname: 'net.sf.jasperreports.ant.JRAntCompileTask', classpath: configurations.jasperreports.asPath)
jasperTargetDir.mkdirs()
jrc(srcdir: jasperSourceDir, destdir:jasperTargetDir) {
include(name:'**/*.jrxml')
**classpath {
pathElement(path: configurations.jasperreports.asPath)
}**
}
}
}
classes.dependsOn compileJasperJava
参考文章: