gpt4 book ai didi

java - 获取文件路径不是apache tomcat路径

转载 作者:行者123 更新时间:2023-11-28 22:37:48 24 4
gpt4 key购买 nike

我试图从我的项目目录加载一个 jasper 报告,但是当我启动应用程序时,它给我一个关于文件位置的错误,它说:

java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.50\bin\report.jasper

要获取文件路径,我使用这个:

new File("report.jasper").getAbsolutePath()

如果我在一个简单的类中运行它,它会为我提供正确的路径,但是当我运行应用程序时,它会为我提供 tomcat 的路径,我尝试了一些其他函数,例如 getCanonicalPath getCanonicalFilegetAbsoluteFile;但结果始终相同。

有解决方案吗?我的应用程序将在两个平台上运行:Windows 和 Linux,每次我更新应用程序时将报告文件放在每个相应的 tomcat 路径中会很烦人,我尽量不这样做。

提前致谢。

最佳答案

如果您的文件位于网络应用程序根目录中,您应该使用 servlet 上下文询问它的真实路径 as javadoc explains

另一种方法是使用 getClassLoader().getResourceAsStream() ,但只有在不需要知道文件路径时才可以使用它。

关于java - 获取文件路径不是apache tomcat路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21760240/

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