问题描述: Springboot没有打成jar之前,可以成功获取读取resources目录下xxx.json文件的 路径.但是打成jar包后,接口调不通,原因是获取不到文件的路径. 原因: 在本地进行调试时,文件是真实存在于磁盘的某个目录.此时通过获取文件路径,是可以正常读取的,因为文件确实存在. 而打包成jar以后,实际上文件是存在于jar这个文件里面的资源文件,在磁盘是没有真实路径的. 所以通过ResourceUtils.getFile或者this.getClass().getResourc…
springboot打成jar包后无法解压 Springboot打出来的jar,用压缩工具解压报错.Why? 先说解决办法. 1.解决办法 executable属性导致的,属性改成false后重新打包,就可以解压 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configurati…
下面主要记录一下springboot打包成jar包在Linux服务上部署的步骤: 1.通过WinSCP,将相应的Jar文件,复制到Linux指定目录下,如/home/ 2.打开ssh,进入/home目录下,执行如下命令,进行项目的启动,此方式为后台启动,即使关闭当前窗口,项目还是在运行的,会生成nohup.out日志文件,可以查看其启动日志 nohup java -jar XXX.jar 3.停止项目,首先需要查询该项目的进程PID,通过如下命令查看 ps aux|grep XXX 如上,第二列…
在项目中做了一个支付功能, 需要引入第三方渠道的配置文件config.xml用来初始化文件证书, 将配置文件 config.xml 放到 resources 资源目录下. 本地开发环境下能正常读取该文件, 但是在 Linux 环境下将项目打包成jar后运行会出现如下异常: java.io.FileNotFoundException: class path resource [static/config.xml] cannot be resolved to absolute file path b…
看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了.当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用SpringBoot的jar包发布项目的时候,你会发现,你不能像以前一样操作文件了.当你使用File file = new File()的时候根本不知道这个路径怎么办.而且总不能很小的项目也给它构建一个文件服务器吧.所以这次就来解决这样的问题 实现 因为我们无法操作jar包内容,所以我们只能将文件存放在…
MAVEN项目,在IDEA中运行正常,但是把它打成jar包后再运行就会出现异常:   Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.…
springboot打成jar包和war包的两种方式,并引入第三方jar包! 首先把需要引入的第三方jar包引入到本地项目中,在引用的模块下加一个lib文件夹 一.打成jar包 1.修改pom文件里的打包方式 <packaging>jar</packaging> 2.引入第三方依赖包 <!--本地sdk的第三方包--> <dependency> <groupId>com.alipay</groupId> <artifactId&…
1.修改打包方式为jar <packaging>jar</packaging> 2.添加第三方依赖到pom文件 我的第三方依赖包在resources目录下的lib目录下(地址可以随便写,但是路径要正确) <dependency> <groupId>otc</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version>…
使用记事本写java代码 1.在d盘新建一个记事本,名字叫做zhanzhuang.java,会询问不可用,是否继续,点击是 2.在里面编辑就如下内容,注意文件的名字要和 class 后面的名字相对应 3.使用 windows+r 呼出命令行窗口,输入cmd进入dos窗口 4.在dos窗口中进入刚才创建的文件的位置,输入如下命令 javac zhanzhuang.java 5.之后继续输入java zhanzhuang 会发现控制台打印 this is zhanzhuang.java 打成jar包…
注意两点: 1. 将资源目录添加到 build path,确保该目录下的文件被拷贝到 jar 文件中. 2. jar 内部的东西,可以当作 stream 来读取,但不应该当作 file 来读取. 例子 新建一个 maven 目录 App.java 用于读取 resources 中的 a.txt 内容. a.txt 是被读取的资源文件. grs@grs App $ tree . ├── pom.xml ├── src │   ├── main │   │   ├── java │   │   │ …
pom.xml中添加Springboot插件 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> 使用mvn package命令生成jar包…
关键点 classifier中配置exec pom文件配置 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 配置此配置,其他工程才能正常引入jar包 --> <classifier>exec</classif…
1.一种方式通过cmd 窗口进行打包 配置maven 环境变量 进入到项目中  运行 mvn clean 然后运行mvn package 进行打包 2.通过idea 进行打包 (1)pom 中安装打包插件 <!--maven 打jar包插件 start--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</arti…
我们知道,spring boot内嵌tomcat,打包成jar包以后,直接就可以运行. 我们也可以使用启动项里面的mian入口来运行程序. 运行jar包时,我们一般是java -jar xxx.jar ,如果带参数,如 java -jar xxx.jar   --spring.profiles.active=alpha ,激活application-alpha.properties配置文件.这种方式不管在window环境或者Linux环境都可以. 如果在Linux下,想以后台运行,则可以 noh…
* 解决:当项目打包成jar之后resources路径下面的证书文件访问不到* 思路:* 1.运行时先复制一个jar* 2.将复制的jar解压到jar文件目录* 3.删除复制的jar跟解压的非证书文件夹 package blockchaincode; import blockchaincode.utils.CryptoUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import blockchaincode.utils…
一.前言 三.参考资料 1.Spring Boot配置文件放在jar外部…
1.SqlHelper.java有包路径没?如果有,是不是类似于com.db.jdbc? 不管怎么办,你SqlHelper.class.getResourceAsStream("/mysql.properties");如果你的配置文件不是在包的根路径,这句话里面路径就不可以像你上面那样写. 例如:如果你的配置文件放在com.db.jdbc包里面,那么你的代码就要修改成这样才正确的:SqlHelper.class.getResourceAsStream("/com/db/jdb…
ls |wc 是统计你这个目录下的文件数目.ls |wc -l是输出第一个结果即31即文件的数目.…
目录 背景 报错的代码 原先的写法 编写测试类 找原因 最终代码 背景 项目里需要获取一个excle文件,然后对其里的内容进行修改,这个文件在jar包里,怎么尝试都读取不成功,但是觉得肯定可以做到,因为项目里的配置文件就可以读取到,于是开始了探索之路. 报错的代码 ExcelWriter excelWriter = EasyExcel.write("to.xlsx").withTemplate(t).build(); 我想要成功调用以上的方法,需要读取一个文件的内容,然后写入到另一个文…
错误提示 Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC 在idea中没有问题,但是打成jar包运行,提示出错,错误提示如上. 页面报错:Unable to create schema compiler异常. 查资料知道是调用tools.jar包的问题 当springboot打成jar包,本地环境运行,jre中没有tools.jar包 1.将jdk中的tools.jar放入jre中.…
问题现象:在引用log4j包后,使用自己导出的jar包,编译测试例代码,在启动浏览器时出现以下告警:log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).log4j:WARN Please initialize the log4j system properly. 问题原因:引用了log4j ,但是未建立log4j 的配置文件(不引用log4j 不…
一.前言  SpringBoot 打成 Jar 包形式运行后 ,resources 目录下文件的读取修改和原来不太一样,网上比较多的是关于读取的方式,修改的几乎没有,终于在 stackoverflow 上找到了正确的打开方式. 二. 读取 InputStream stream = null; BufferedReader bufferedReader = null; try { stream = getClass().getClassLoader().getResourceAsStream("s…
Web项目开发中,经常会有一些静态资源,被放置在resources目录下,随项目打包在一起,代码中要使用的时候,通过文件读取的方式,加载并使用: 今天总结整理了九种方式获取resources目录下文件的方法. 其中公用的打印文件方法如下: 查看代码 /** * 根据文件路径读取文件内容 * * @param fileInPath * @throws IOException */ public static void getFileContent(Object fileInPath) throws…
需要读取resources目录下的文件,那么方法如下: 假设在资源目录下的template目录下有一个文件a.txt,获取到文件流的方式 InputStream stream = this.getClass().getClassLoader().getResourceAsStream("template/a.txt"); 读取之后可以对这个流进行操作,如下载文件,具体的使用方法详见https://www.cnblogs.com/zys2019/p/12245606.html#_labe…
原文链接:https://blog.csdn.net/qq_18748427/article/details/78606432 springboot打成jar后获取classpath下文件失败 使用如下代码: ClassPathResource resource = new ClassPathResource("application.yml"); File file = resource.getFile(); FileUtils.readLines(file).forEach(Sys…
之前研究了springboot整合freemarker与thymeleaf的使用.也研究了springboot发布到独立的tomcat的使用以及使用自带的tomcat打成jar包的使用,下面研究集成JSP之后的使用. 建议还是使用官方提倡的thymeleaf模板.而且thymeleaf与html很好的集成,便于前后端人员开发. 1.集成JSP pom.xml添加JSP相关依赖: <!-- 使用jsp引擎,springboot内置tomcat没有此依赖 --> <dependency>…
springboot的打包方式依赖于插件:(下面插件打出的包与普通的包目录结构有区别) <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> ===================发布到独立的Tomcat运行============ 在开发阶段我们推荐使用内嵌的to…
JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案 本文为转载,原文地址为:https://www.cnblogs.com/adversary/p/10346278.html. 本项目测试环境 JDK: 1.8 SpringBoot: 2.1 需求描述 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,此处描述的时打包成 jar 包后 Spring 配置类不为扫描.未注册Bean的…
我的spring boot + mybatis项目在idea里面执行正常,但发布测试环境打成可执行jar包后就启动失败,提示错误如下: [ ERROR] [2018-08-30 17:23:48] org.springframework.boot.SpringApplication [845] - Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creat…
本项目测试环境 JDK: 1.8 SpringBoot: 2.1 需求描述 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,此处描述的时打包成 jar 包后 Spring 配置类不为扫描.未注册Bean的问题. 解决方案 此处提供三种解决方案,友好型依次提升. 使用者手动配置 basePackages 使用者通过注解方式启用配置 SpringBoot 主动发现 正文开始 第一种:使用者手动配置 basePackages (对…