一、为什么要在Java项目之外放置配置文件?
Java APP应用程序经常使用配置文件,该文件定义了执行程序所需的一些配置信息。 配置文件位于Java项目内部、向Java项目打jar包时位于jar包内部或Java项目外部。
在生产环境中,建议将配置文件置于Java项目之外。 这是:
如果java程序在生产环境中运行,维护人员通常负责维护程序。 如果需要更改某些配置信息,维护人员可以修改配置文件,然后重新启动程序。 很明显,如果配置文件打包在jar包中,则更改配置文件很麻烦,在某些情况下,开发人员可能需要重新修改配置文件,重新创建并替换jar包。 但是,生产环境通常不允许这种行为,因此必须将配置文件放在jar包的外部。
那么,如何读取jar包外的配置文件? 这与读取jar包中的配置文件不同。 有关读取jar包中配置文件的详细信息,请访问https://www.Jian Shu.com/p/BD 7d 7a 2891 f 8
二、java读取jar包外的配置文件
2.1在intellij idea中创建新的Java项目(基于maven )
2.2创建新配置文件
step1.在intellij idea中选择项目,即图中的test123,右键单击----new----directory,然后输入目录名称res。 也可以是别的名字。
step 2.选择新创建的res目录,右键单击----markdirectoryas---resources root,将显示图中的res目录。 请注意,res的右下角显示了黄色条。 (这个步骤很重要)
选择step3.RES目录,右键单击----new----file,键入my canal.properties (my canal也可以更改为其他),然后单击my canal.prroperties 示例:
MySQL实例名称=test1
MySQL方案=大胆的导师
其中,mysqlInstanceName和mysqlSchemaName都是属性的关键键key,test1和大胆的教师分别是对应的属性值value。
配置文件示例
2.3读取配置文件中的业务代码
import java.io.*;
import java.util.Properties;
公共类主{
publicstaticvoidmain (字符串[ ] args ) throws IOException { )。
Properties prop=new Properties (;
inputstream inputstream=空值;
try {
prop.load (new file inputstream (RES/my canal.properties );
/*注释:虽然可以直接在src/main/resources目录下创建配置文件,但new file inputstream (RES/my canal.properties )是新文件ile
}catch(filenotfoundexceptione ) {
e .打印堆栈跟踪(;
}catch(ioexceptione ) {
e .打印堆栈跟踪(;
}
system.out.println (prop.getproperty (' MySQL方案' );
system.out.println (prop.getproperty ) (MySQLinstancename );
}
}
2.4 maven软件包jar (配置文件不需要打入jar软件包) ) ) ) ) ) ) ) ) )。
打jar包的方法在网上有很多
2.5复制到打包的jar和intellij idea test 123项目下的res文件夹(包括配置文件)在同一级别的目录下() (服务器或本机上运行程序的位置) )
(*请注意,它位于同一级别目录下*。 这很重要。 否则,程序将无法找到配置文件)
2.6启动jar读取配置文件
在包含jar的路径中,运行以下命令:
java -classpath abc-1.0.jar Main
其中abc-1.0.jar是打包的jar,Main是主要类
当然,主类也可以直接定义在pom.xml文件中。 具体方法请参照网上。