我一直在尝试使用动态报告生成报告文件,但它似乎似乎没有在服务器上创建文件。当我使用在本地运行的相同方法时,它会生成文件,但是当我在服务器上运行它时,没有创建文件。我在Eclipse中运行Tomcat 7。该文件应该使用 FileOutputStream 创建。
这里的方法适用于本地,但不适用于Tomcat:
StyleBuilder plainStyle = stl.style().setFontName("FreeUniversal");
StyleBuilder boldStyle = stl.style(plainStyle).bold();
StyleBuilder italicStyle = stl.style(plainStyle).italic();
StyleBuilder boldItalicStyle = stl.style(plainStyle).boldItalic();
try {
report().title(
Templates.createTitleComponent("Fonts"),
cmp.text("FreeUniversal font - plain").setStyle(plainStyle),
cmp.text("FreeUniversal font - bold").setStyle(boldStyle),
cmp.text("FreeUniversal font - italic").setStyle(italicStyle),
cmp.text("FreeUniversal font - bolditalic").setStyle(boldItalicStyle))
.toDocx(createFile("docx"))
// .show()
;
} catch (DRException e) {
e.printStackTrace();
}
哦和CreateFile(...)方法:
private FileOutputStream createFile(String extension) throws FileNotFoundException {
FileOutputStream file;
String filePath = reportsPath + "generated_report." + extension;
filePath = "generated_report." + extension;
System.out.println("FILENAME IS: " + filePath);
file = new FileOutputStream(new File(filePath));
return file;
}
我知道这里的reportsPath不活跃。
所以没有例外。顺便说一下,也许有可能在这个服务器上也没有创建其他文件,因为我也是通过servlet上传文件并且它被使用了,但它不会出现在路径的任何地方而且它没有似乎被保存了,但我无论如何都不需要保留上传的文件,所以这不是一个问题,但现在呢?我需要能够找到这些报告,因此必须创建文件。
而且我确定这不是我找不到文件,我到处运行搜索,实际上在我运行服务器的所有计算机上,没有使用该名称创建的文件。
那么,有什么想法吗?它必须是Tomcat配置问题吗?
有什么想法吗?感谢
答案 0 :(得分:0)
输出被写入您在构造函数中提供的文件。如果那是相对文件名,则在执行代码时它相对于当前工作目录。
否则抛出了IOException,代码根本没有执行。