【问题标题】:How to use files outside of war file on jetty server?如何在码头服务器上使用战争文件之外的文件?
【发布时间】:2016-03-19 09:31:57
【问题描述】:

我想使用我的war 文件之外的一些文件。它位于

/opt/jetty/webapps

假设我想将一些文件放入

/opt/jetty/resources

并从我的项目中使用它们。如何从 Java 代码访问它们?当我在部署的项目中使用完整路径时,它不起作用(没有完成日志记录并且没有错误):

Files.readAllBytes(Paths.get("/opt/jetty/resources/config"))

【问题讨论】:

  • 当您的 WAR 部署在不同的容器中时会发生什么?还是通过网络?您必须在容器的命令行选项中提供指向“根”配置的指针(可能在 /etc/myApp/... 中),以及指向根配置中所有外部文件的指针。
  • @JimGarrison,我只是将war文件放入webapps目录并重新启动码头服务。它会自动发现战争。
  • 如果您希望引用外部资源,您仍然需要提供外部配置(不是 WAR 的一部分)。必须提供指向这些外部资源的指针,并且这些位置必须在运行时可发现。
  • @JimGarrison,我该怎么做?

标签: java maven servlets jetty jetty-9


【解决方案1】:

如果你需要从文件系统中读取一个文件,你可以直接访问它。如果您的 servlet 在您的服务器上没有看到该文件,但在 IDE 中却看到了,则可能是权限/访问权限有问题。

如果您的服务器在不同的用户下运行,请确保它有权读取和写入所需文件。否则会出现Permission Denied 错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-08
    • 2017-07-30
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 2013-03-25
    相关资源
    最近更新 更多