`
springboot框架
  • 浏览: 9474 次
文章分类
社区版块
存档分类
最新评论

springboot 打jar 包部署时 读取外部配置文件

 
阅读更多

案例:本文主要描述linux系统执行jar包读取jar包同级目录的外部配置文件
方法一:相对路径设置配置文件
(1)在jar包同级目录创建配置文件conf.properties并写入配置数据:

confData=data
1
(2)开始写入自动化测试代码

//java项目www.fhadmin.org
public class Test{
    public String getData() throws IOException {
        //读取配置文件
        Properties properties = new Properties();
        File file = new File("conf.properties");
        FileInputStream fis = new FileInputStream(file);
        properties.load(fis);
        fis.close();

        //获取配置文件数据
        String confData = properties.getProperty("confData");
        System.out.println(confData);
    }
}


(3)执行jar包

java -jar jarNanexxx


方法二:绝对路径设置配置文件
解决问题:使用相对路径的方法在jar包同级目录手动执行jar包时没有问题,但使用linux系统的crontab文件定时调度时报错,原因:因为我们手动执行某个脚本时,是在当前shell环境下进行的,程序能找到环境变量;而系统自动执行任务调度时,除了默认的环境,是不会加载任何其他环境变量的。因此就需要在crontab文件中指定任务运行所需的所有环境变量,或者在程序中使用绝对路径。
(1)在jar包同级目录创建配置文件conf.properties并写入配置数据:

confData=data


(2)开始写入自动化测试代码

//java项目www.fhadmin.org
public class Test{
    public String getData() throws IOException {
       //获取jar包同级目录
        String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
        String[] pathSplit = path.split("/");
        String jarName = pathSplit[pathSplit.length - 1];
        String jarPath = path.replace(jarName, "");
        String pathName=jarPath+"minhang.properties";
        System.out.println("配置文件路径:"+jarPath);

        //读取配置文件
        Properties properties = new Properties();
        File file = new File(pathName);
        FileInputStream fis = new FileInputStream(file);
        properties.load(fis);
        fis.close();

        //获取配置文件数据
        String confData = properties.getProperty("confData");
        System.out.println(confData);
    }
}


(3)执行jar包

java -jar jarNanexxx

 

分享到:
评论

相关推荐

    解决SpringBoot打成jar运行后无法读取resources里的文件问题

    在使用SpringBoot进行开发时,我们...通过以上知识点的介绍,我们可以解决SpringBoot应用打成jar包后无法读取resources目录下文件的问题,并且在处理数据时能够更加高效。希望这些内容能对大家在实际开发中有所帮助。

    springboot 项目实现文件上传,显示,下载,打包为jar

    在Spring Boot项目中,文件上传、显示和下载是常见的需求,尤其在构建Web应用程序时。Spring Boot提供了一种简单而高效的方式来处理这些操作。这里我们将深入探讨如何在...最后,打包成JAR文件使得应用易于部署和运行。

    详解在Docker容器中运行Spring Boot应用

    另一方面,Spring Boot还具备将代码直接构建为可执行jar包的能力,这个jar包是一个可以独立运行的部署单元。基于以上特性,现在普遍认为Spring Boot提供了一种快速构造微服务(Micro-Service)的能力。 Docker与Spring...

    springboot部署linux访问服务器资源的方法

    1. 将 SpringBoot 项目打包成 War 包或 Jar 包。 2. 将 War 包或 Jar 包上传到 Linux 服务器上。 3. 配置 Tomcat 服务器或内置 Tomcat 服务器。 4. 启动 Tomcat 服务器或 SpringBoot 应用程序。 总结 本文详细介绍...

    SpringBoot加载外部依赖过程解析

    1. 配置文件的读取:SpringBoot应用程序可以通过application.properties文件或application.yml文件来配置外部依赖项。这些配置文件可以被放置在classpath目录下或jar包内部。SpringBoot会根据一定的顺序来加载这些...

    基于 SpringBoot 开发的超简洁音乐播放器

    SpringBoot 支持内嵌的 Tomcat、Jetty 或 Undertow 等 Servlet 容器,这意味着开发人员无需额外部署到外部服务器,可以直接运行 `jar` 文件启动服务。这对于快速测试和部署音乐播放器应用非常方便。 【Spring Data ...

    SpringBoot技术分享(培训ppt文档).pptx

    在没有Spring Boot之前,项目中可能存在大量XML配置文件,整合第三方框架时需要处理jar包冲突,开发和部署效率较低。Spring Boot通过自动配置解决了这些问题,使得配置变得更简洁,编码更高效,部署也更为便捷。 要...

    SpringBoot.docx

    Spring Boot的核心配置文件有`application.properties`和`bootstrap.properties`,前者主要用于项目自动化配置,后者适用于加载外部配置中心信息、固定不可覆盖的属性和加密解密场景。 【配置中心配置】 1. 创建...

    Spring Boot常见外部配置文件方式详析

    本文将深入探讨Spring Boot如何读取外部配置文件,并提供详细的操作指南。 首先,Spring Boot 支持多种外部配置文件的方式。最常见的是使用`application.properties`或`application.yaml`文件。这些文件通常被放置...

    springboot基本使用和内部原理

    3. **环境属性(Environment Properties)**:SpringBoot应用可以从多个源读取配置,包括命令行参数、环境变量、配置文件等。`@Value`注解和`Environment`接口可以用来访问这些属性。 4. **Spring Boot Actuator的...

    SpringBoot入门基础.ppt

    3. `@ConfigurationProperties`:将配置文件中的属性绑定到Java对象,方便管理和使用。 4. `@RestController`:用于创建RESTful风格的控制器,结合了`@Controller`和`@ResponseBody`。 5. `@Autowired`:自动装配...

    Springboot + rxtx 实现串口读写应用部分源码

    - `src/main/resources`:存放配置文件,如 `application.properties` 或 `application.yml`,以及可能的静态资源。 - `src/test/java`:存放测试代码,用于验证代码功能。 "lib" 文件夹可能包含了项目的依赖库,...

    SpringBoot 50道面试题和答案.docx

    SpringBoot的自动配置原理是通过@EnableAutoConfiguration注解激活的,它会读取META-INF/spring.factories文件中定义的自动配置类,并结合对应的xxxProperties.java类来读取配置文件,进行相应的功能配置。...

    Tomcat启动springboot项目war包报错:启动子级时出错的问题

    9. **系统权限问题**:检查部署目录和Tomcat运行时的用户权限,确保有足够的权限读取、写入和执行文件。 10. **应用代码**:检查你的业务逻辑,确认在部署环境下的运行行为。404错误可能是由于路由配置、控制器方法...

    driver_springboot.zip

    - **环境与配置**:应用读取`application.properties`或`application.yml`等配置文件,支持Profile特定配置。 3. **Web开发** - **Spring MVC**:SpringBoot默认使用Spring MVC作为Web框架,处理HTTP请求。 - **...

    SpringBoot实战书本源码

    5. **YAML/Properties配置**:Spring Boot支持YAML和Properties两种格式的配置文件,源码会展示如何读取和使用这些配置,以及如何进行环境变量的配置管理。 6. **数据访问**:包括JPA(Java Persistence API)和...

    SpringBoot讲义.pdf

    - **外部配置**:支持读取外部文件、环境变量等方式提供配置。 - **配置中心**:利用 Spring Cloud Config Server 实现动态配置管理。 - **第三方技术整合**: - **Spring Data JPA**:用于数据库访问。 - **...

Global site tag (gtag.js) - Google Analytics