Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用gradle将jrxml转换为jasper_Gradle_Ant_Jasper Reports - Fatal编程技术网

使用gradle将jrxml转换为jasper

使用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

在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 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
参考文章: