我必须在 JasperReports 的 JRXML 文件中导入几个自定义 Java 类。
我可以使用
<import value="org.ga.jasper.sample.MyCustomClass"/>
这工作得很好,我能够运行这个 jrxml 并测试我的代码。
当我想使用 jasperreports-maven-plugin 将其预编译为 .jasper 文件时出现问题。
在进行构建时,它提示说它没有找到我的包,因此导入无效。
package org.ga.jasper.sample does not exist
import org.ga.jasper.sample.MyCustomClass;
仅供引用,我的 Java 代码和 .jrxml 在同一个 Maven 模块中,但在不同的文件夹中。
以下是我的插件标签中的代码
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile-reports</goal>
</goals>
</execution>
</executions>
<configuration>
<sourceDirectory>src/main/resources/jasper</sourceDirectory>
<outputDirectory>${project.build.directory}/jasper</outputDirectory>
<compiler>net.sf.jasperreports.engine.design.JRJavacCompiler</compiler>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>4.5.1</version>
</dependency>
</dependencies>
</plugin>
最佳答案
默认情况下,插件在生成资源阶段运行,在当前模块的类被编译之前。您可以将插件更改为在编译阶段运行。请参阅此处页面底部的注释:
另外,看看这个类似的问题:
关于java - 在jrxml中导入自定义类并使用maven插件编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19496129/