当前位置: 首页 > 知识库问答 >
问题:

java.lang.IllegalArgumentException:URI不是分层的(在部署的应用程序中)

常朗
2023-03-14

下面是我的代码

        URL url = this.getClass().getResource("/templates");
        parentDirectory = new File(new URI(url.toString()));
        OutputStream outputStream = new FileOutputStream(parentDirectory.toString()+"/"+quoteNumber+".pdf");

当我从Eclips运行我的应用程序时,一切都运行得很好,并且成功地创建了PDf文件,但是我在服务器上部署应用程序WAR文件时,我得到了这个错误

下面是我的错误完整日志

共有1个答案

王飞英
2023-03-14

你应该用

getResourceAsStream(...);

当资源绑定为JAR/WAR或任何其他单个文件包时。

事实是,jar是一个包含大量文件的单个文件(有点像zip文件)。在OS的pov中,它是一个单独的文件,如果您想访问文件的一部分(您的图像文件),您必须将其作为流使用

 类似资料:
  • Requirements 运行一个Spark Streaming应用程序,有下面一些步骤 有管理器的集群-这是任何Spark应用程序都需要的需求,详见部署指南 将应用程序打为jar包-你必须编译你的应用程序为jar包。如果你用spark-submit启动应用程序,你不需要将Spark和Spark Streaming打包进这个jar包。 如果你的应用程序用到了高级源(如kafka,flume),你需

  • 在生产环境中在Ubuntu12.04上部署Node.js的推荐方法是什么? 我看到了这个ppa,但我不知道是否是很好的维护,或如果它将,如果是一个女巫的来源,一个可以信任。 我知道手动安装Node.js很容易,但在我看来,使用Ubuntu packages manager安装Node.js会让我有一些安全的管理时间,并且与当前管理底层服务器的方式更加集成。那么,你有什么建议呢?先谢谢你。

  • 我有这个问题,一个应用程序耳朵有这个错误,我是一个weblogic12c的新管理员,有人帮助我吗??? 这是一个标准安装Weblogic 12c

  • 我正在Heroku上部署一个网站,但我在尝试运行“Heroku open”时收到了“应用程序错误”。 我相信我已经成功地将文件推送到Heroku中,这是我的“git推送heroku master”代码的一部分: 当我运行“heroku config-s | grep PATH”时,我得到了 我正在使用Ruby 1.9.3和Rails 4.0.0 文件夹 宝石环境 箱/轨道 垃圾箱/包裹 仓/耙

  • 在webLogic 12C中部署Spring boot应用程序时遇到问题。 10.4.4 403禁止服务器理解请求,但拒绝满足它。授权将无济于事,请求不应该重复。如果请求方法不是HEAD,并且服务器希望公开请求未被满足的原因,它应该在实体中描述拒绝的原因。当服务器不想透露请求被拒绝的确切原因时,或者当没有其他响应适用时,通常使用此状态代码。 我想知道是否有人能帮忙。