我决定在运行时为app获取适当的配置文件.

1)使用以下代码获取war(例如warname.war)文件中当前运行的MainApp.class的路径:

String path = MainApp.class.getProtectionDomain().getCodeSource().getLocation().getPath();

String decodedPath = java.net.URLDecoder.decode(path, "UTF-8");

// decodedPath - "D:/apache-tomcat-7.0.81/apache-tomcat-7.0.81/webapps/warname/WEB-INF/classes/com/gieseckedevrient/rsp/servertester/MainApp.class"

2)解析这个解码的路径,以便只得到“warname”:

String parentName = "";

java.io.File parentFile = null;

while (!"WEB-INF".equals(parentName)) {

File file = new File(decodedPath);

parentFile = file.getParentFile();

parentName = parentFile.getName();

decodedPath = parentFile.getAbsolutePath();

}

String realWarName = parentFile.getParentFile().getName();

3)在TOMCAT_HOME} / bin /中创建文件“setenv.bat”并在其中插入此代码(warname.war的warname.config.file和warname2.war的warname2.config.file):

set CATALINA_OPTS=-Dwarname.config.file=D:\app.properties -Dwarname2.config.file=D:\app2.properties

4)使用以下代码读取适当的env变量:

String configFile = System.getProperty(realWarName + ".config.file");

// configFile - "D:\app.properties" for warname.war

// configFile - "D:\app2.properties" for warname2.war

java war文件_java – 使用参数部署* .war文件相关推荐

  1. java缓冲流 复制文件_java使用缓冲流复制文件的方法

    本文实例为大家分享了java使用缓冲流复制文件的具体代码,供大家参考,具体内容如下 [1] 程序设计 /*------------------------------- 1.缓冲流是一种处理流,用来加 ...

  2. java http 上传文件_java利用httpClient实现后台文件上传请求

    之前写过基于html和js的文件上传方法java 用springMVC 和HttpServletRequest 两种实现文件上传的方法和httpClient后台执行普通post请求的文章java通过h ...

  3. java 动态库_java调用dll动态库文件的一般总结

    前一段时间,在项目需求中,需要调用一下第三方的动态库文件,下面是本人一些尝试的经历. 首先需要明白的是,在java中是不能直接调用动态库文件的,因为动态库文件是使用c或是c++编写的,作为一种跨   ...

  4. java追加txt文件_java怎么追加写入txt文件

    java中,对文件进行追加内容操作的三种方法! import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io ...

  5. java swing 打开文件_java swing实现打开Excel文件并进行处理

    这里选择Excel文件是业务需要,话不多说 1.引入对Excel处理的相关依赖 org.apache.poi poi 3.16 org.apache.poi poi-ooxml 3.16 2.进行sw ...

  6. java 导入导出txt文件_Java读取和写入txt文件

    1 问题描述 对于java的读取和写入txt一直心存疑惑,随着知识的积累,又重新进行学习,对java的文件读写理解更加深刻,在这里将自己的小小经验总结分享给大家.下面是大家了解java流的一个基本框架 ...

  7. java 读取1m文件_java的FileInputStream类读取文件

    package net.csdn.InputStream; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...

  8. java中写入文件_java中创建、写入文件的5种方式

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files. ...

  9. java文件流写入文件_JAVA IO流编程 实现文件的写入、写出以及拷贝

    一.流的概念 流:数据在数据源(文件)和程序(内存)之间经历的路径. 输入流:数据从数据源(文件)到程序(内存)的路径. 输出流:数据从程序(内存)到数据源(文件)的路径. 以内存为参照,如果数据向内 ...

最新文章

  1. 7000 字 23 张图,Pandas一键生成炫酷的动态交互式图表
  2. 链表排序(冒泡、选择、插入、快排、归并、希尔、堆排序)
  3. python字符型_python字符类型
  4. 艾伟也谈项目管理,创业公司技术选型参考
  5. 标准C程序设计七---77
  6. 【立体视觉】双目立体标定与立体校正
  7. volatile 和 atomic 原子性的区别和联系
  8. 如何在CentOS上创建Kubernetes集群
  9. 北京市丰台区卫星地图下载
  10. 腾讯内部项目管理课程
  11. RFID定位技术下的资产管理与应急仓储物流--RFID资产管理--新导智能
  12. android studio改java,Android Studio如何修改快捷键
  13. python中的slice用法
  14. 古琴【A5】良宵引-不好听
  15. 用调整图层给照片上色
  16. 算法——从9个硬币中找出其中的1枚假硬币
  17. 2021-2-26编程语言知识点整理
  18. Verilog练习:HDLBits笔记15
  19. 安装WampServer后无法打开localhost的问题
  20. 第一章:Getting Started

热门文章

  1. 利用微软Text-To-Speech朗读文本
  2. 电脑HDMI接电视 设置耳机输出声音
  3. 2022IC秋招面经分享【禾赛科技·FPGA开发工程师(上海)】
  4. 几个学习Python的网站推荐
  5. 重视论文降重,应对论文查重
  6. 合力亿捷云客服3.0 开启“全员客服”新时代
  7. java程序 联机方法_Java实现Tank大战联机版
  8. 常用存储芯片-笔记本上固态硬盘PTS11系列推荐
  9. 量子计算机意识永生,量子计算机如何使未来的人类永生
  10. 计算机硬件知识ppt课件,计算机硬件知识PPT课件.ppt