我写了一些Java类,创建了jar文件。我想将它添加到JasperReports Server。当我使用iReport中的 Tools -> Preferences -> Classpath 菜单确定 jar 文件的路径时,它可以正常工作。但是,当我从另一台主机访问JR 服务器时,它不起作用。
我必须做什么,让这个 jar 文件在这个JR 服务器上可用,从任何地方?
我写了一些Java类,创建了jar文件。我想将它添加到JasperReports Server。当我使用iReport中的 Tools -> Preferences -> Classpath 菜单确定 jar 文件的路径时,它可以正常工作。但是,当我从另一台主机访问JR 服务器时,它不起作用。
我必须做什么,让这个 jar 文件在这个JR 服务器上可用,从任何地方?
选项 1 - 如果您想在多个报告中使用您的 Jar。
您应该“添加 Jar”(在 iReport 存储库管理器中调用)到 Jasper Server 文件夹树中的某个文件夹。然后在特定报告的“资源”部分中“添加引用”此资源。
选项 2 - 您需要一个特定报告中的 jar。
在特定报告的资源部分中使用“添加 Jar”选项。
在 JasperServer 4.7 上完美运行
将 jar 添加为报告的资源(如果是一次性使用)或将其添加到 Jasper Report Server 中的某个路径,并按照 Alex 的建议添加对它的引用。
我建议您在 Jasper Server 中创建一些文件夹(通过 Web 界面或 iReport)并将所有常用文件放在那里(确保正确管理 ROLE_USER 应该有权访问该文件的权限,但您可以将其从文件夹中删除,这样它没有列出)。
然后在需要这些的报告上使用参考。例如,我将它用于报告徽标和一些帮助 Java 类。
编辑为@NormTatlock 询问有关如何执行此操作的更多详细信息:
创建您的 Java 包 my.sample.package 例如:
公共类 MyClass 扩展了 JRDefaultScriptlet ...
编译它并使用其全名(例如 my.sample.package.jar)将 jar 作为资源上传,或者将其上传到另一个文件夹并在报告的资源文件夹中创建对它的引用。
编辑报告并将 Scriptlet Class 属性设置为:
我的.sample.package.MyClass
或者将 XML 标记 jasperreports(根标记)中的属性设置为:
scriptletClass="my.sample.package.MyClass"
在您的报告中使用 scriptlet,如下所示:
$P{REPORT_SCRIPTLET}.myMethod(myParam1, myParam2)
注意方法的返回类型等等。
希望能帮助到你。玩得开心!