配置文件放jar包同级目录|jar包中配置文件的路径

A. 如何用maven将配置文件打在jar包外

您好,很高兴能帮助您,pom如下,最后mvn package -Dmaven.test.skip=true结果在target下面有jar,lib是依赖库,配置文件放在和jar一个目录<build> <sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <directory>src/main/resources</directory> <targetPath>${project.build.directory}</targetPath> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <testSourceDirectory>src/test/java</testSourceDirectory> <testResources> <testResource> <directory>src/test/resources</directory> <filtering>true</filtering> <excludes> <exclude>**/*.java</exclude> </excludes> </testResource> </testResources> <pluginManagement> <plugins> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>[2.0,)</versionRange> <goals> <goal>-dependencies</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!– 打包源码一起发布到maven仓库中 –> <plugin> <artifactId>maven-source-plugin</artifactId> <version>2.1</version> <configuration> <attach>true</attach> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!– 生成可执行JAR包命令 maven-jar-plugin –> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>***Main Application *** </mainClass> </manifest> <manifestEntries> <Class-Path>./</Class-Path> </manifestEntries> </archive> </configuration> </plugin> <!– 拷贝依赖的jar包到lib目录 –> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id></id> <phase>package</phase> <goals> <goal>-dependencies</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/lib </outputDirectory> </configuration> </execution> </executions> </plugin> <!– 生成可执行JAR包命令 maven-jar-plugin end –> <!– 生成可执行JAR包命令 maven-shade-plugin <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>***.Application ***</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> –> </plugins> </build>

B. jar包启动方式以及配置文件读取顺序

jar包启动方式

此种方式,jar包需要放到最后

格式

例如

使用springboot的方式,此种方式jar需要放到前面

格式

例如

以jar包发布springboot项目时,默认会先使用jar包 同级目录 下的 application.properties 来作为项目配置文件。但使用 –spring.config.location 指定了配置文件,则读取指定的配置文件。

如果在不同的目录中存在多个配置文件,它的读取顺序是:

C. jar包中配置文件的路径

Propertiesprop=newProperties();prop.load(newFileInputStream("D://conf//a.properties"));

D. eclipse打包了可执行的jar文件.怎么让jar读取同级目录下的properties和xml配置文件

您好,读取jar包内配置文件:InputStream in = this.getClass().getClassLoader().getResourceAsStream("/configfilename.properties"); 读取jar包外配置文件:String filePath = System.getProperty("user.dir") + "/conf/configfilename.properties"; InputStream in = new BufferedInputStream(new FileInputStream(filePath)); 另外,如果app中使用到log4j.properties文件,默认的存放路径是src/log4j.properties,同上面一样,我想把log4j.properties放在其他目录中,这样一来,在修改log4j配置文件的时候无需重新打jar包。 在main函数第一行添加如下代码:PropertyConfigurator.configure(System.getProperty("user.dir") + "/conf/log4j.properties");

E. 如何用maven将配置文件打在jar包外

一、导出到默认目录 targed/dependency从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令:1、mvn dependency:-dependencies或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:-dependencies后,点击运行;2、maven项目所依赖的jar包会导出到targed/dependency目录中。二、导出到自定义目录中在maven项目下创建lib文件夹,输入以下命令:1、mvn dependency:-dependencies -DoutputDirectory=lib;2、maven项目所依赖的jar包都会复制到项目目录下的lib目录下。三、设置依赖级别同时可以设置依赖级别,通常使用compile级别mvn dependency:-dependencies -DoutputDirectory=lib -DincludeScope=compile

F. jar包中的类读取配置文件的路径问题,求大家帮帮忙

应该是直接就可以读取的。因为你的配置文件和Jar文件在同一个目录下,如果你的应用能找到jar文件,也就是可以找到配置文件。不过你要在classpath路径中添加*.properties。


赞 (0)