gpt4 book ai didi

java - 如何为碧 Jade 报告设置相对类路径

转载 作者:行者123 更新时间:2023-11-30 09:23:27 25 4
gpt4 key购买 nike

我正在从一个 swing 应用程序创建一个 jasper 报告。当设置了绝对路径但没有为相对路径生成一个时,它工作正常。生成代码的java代码是

 JasperDesign jd= JRXmlLoader.load("relative path");

String sql = "";
JRDesignQuery newQuery= new JRDesignQuery();
newQuery.setText(sql);
jd.setQuery(newQuery);
JasperReport JASP_REP= JasperCompileManager.compileReport(jd);
JasperPrint JASP_PRINT= JasperFillManager.fillReport(JASP_REP,null,conn);
JasperViewer.viewReport(JASP_PRINT,false);

每当我尝试使用绝对路径时都会发生错误。数据源的 xml 代码是

<defaultValueExpression >
<![CDATA["reports/report1.jasper"]]>
</defaultValueExpression>

但是显示如下错误

java.io.FileNotFoundException: reports/report1.jasper (The system cannot find the path specified)

我从中得到了一些建议

http://forums.devshed.com/java-help-9/relative-path-for-subreport-in-jasperreport-309313.html

但在这种情况下没有任何帮助。

最佳答案

如果您正在使用 Jasper Swing 应用程序,那么最好的做法是路径必须是绝对路径。只需将所有 .jrxml 文件编译为 .jasper 文件并始终加载编译后的 .jasper 文件。它很快。

在应用程序之外创建文件夹,如 jaspersimagesstyles。并创建如下所示的 system/environment 变量。

JASPERDIR = "c:\\app\\jaspers";
STYLES = "c:\\app\\styles";
IMAGES="c:\\app\images";

现在在您的 swing 应用程序中使用 System.getenv() 方法,传递变量名以读取路径。

这样每次您的swing应用程序都足够灵活。您可以随时更改 imagesstyles.jasper 文件,而无需重新启动 swing 应用程序。

关于java - 如何为碧 Jade 报告设置相对类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16031148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com