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

java如何外部化应用程序。我的war文件中的属性

仲璞瑜
2023-03-14

我被要求从我的wars文件中外部化我的属性文件,并给一个文件一个外部路径,因为我有一个内部带有tomcat的docker图像,我被要求掌握docker外部的文件。

那要怎么做?

我已经知道如何修改pom以从构建中排除我的文件。

共有1个答案

夏侯鹏
2023-03-14

您可以将docker容器中的卷装载到主机中的路径。现在,当您创建任何应用程序时。主机路径上的属性文件,docker容器也可以看到和访问该文件。

下面是普通的docker run命令来实现它。

docker run -it --rm -v /home/k/myDocker:/k busybox sh

下面是docker compose。yml方法

version: '3'

services:
  prometheus:
    image: prom/prometheus
    volumes:
      - prometheus-data:/prometheus

volumes:
  prometheus-data:
    driver: local
    driver_opts:
      o: bind
      type: none
      device: /disk1/prometheus-data
 类似资料:
  • 问题内容: 我有一个Spring应用程序,到目前为止运行良好。现在,我希望属性文件位于外部配置文件夹中,而不是在打包的jar中,而无需重新打包即可更改内容。这就是我得到的: 问题答案: 如果将其放置在名为spring的目录中的类路径中的某个位置(相应地更改名称/目录),则可以使用 这将指向web-inf / classes / config / springcontext.properties

  • 我正在尝试获得一个Spring Bootjar,该jar具有嵌入式Tomcat服务器,以便在运行时加载一个外部war。我正在尝试使用本文中所展示的技术来实现这一点。 Spring Boot应用程序中的容器bean: 当我启动Spring Boot container应用程序时,container bean定位warfile并将其添加到类路径中,但随后抛出一个ClassNotFoundExcepti

  • 问题内容: 这个问题可能被问过很多次,但是我没有找到直接的答案。 实际上,我正在使用WebSphere来运行Java Web应用程序,我想将上传的文件/资源​​保存/存储到服务器目录之外的文件夹中,D:/resources/但是我担心的是,我们是否有可能这样做?因为这可能是某种安全漏洞。 如果可能的话,那么如何在Java Web应用程序中做到这一点。 问题答案: 下面是在struts 1.x中上传

  • 我已经制作了我的网络应用程序,我想把它放在互联网上。我听说用户可以使用 .war 文件在 cPanel 中部署 Web 应用程序。我一直在搜索这个,任何类型的教程或任何有关如何做到这一点的信息。但是没有一个真正告诉你如何做到这一点,你只会找到关于如何在Tomcat或Glassfish上部署的教程。我在这里错过了什么点吗?一旦我的 Web 应用程序打包为 .war 文件,我如何将它放到互联网上?如果

  • 我正在开发一个spring boot应用程序 我想用外部文件(例如)重写中的某些属性。 我尝试了几种方法: 中的“我的应用程序.属性”中的 我使用对其进行了测试。第一个方法只添加了属性,但没有重写它们。

  • 我正在读取google appengine应用程序中文件夹(/war/config/client.properties)中的属性文件。它在我的本地服务器上运行良好,但在生产模式下不工作,并且抛出异常java。安全AccessControlException:拒绝访问(java.io.FilePermission)。 你能告诉我如何在生产模式下工作吗。