1. Cmd运行Jar出现乱码
打开Cmd,执行chcp 65001
。
裕兴jar命令指定编码java -Dfile.encoding=utf-8 -jar project.jar
。
实际上已经生效,只是可能Cmd版本老,界面上依然有乱码。
2. SpringBoot引入jar本地包
在开发过程中有时会用到maven仓库里没有的jar包,这时没办法通过pom直接引入,那么该怎么解决呢?
一般有两种方法
第一种是将本地jar包安装在本地maven库
第二种是将本地jar包放入项目目录中
这篇文章主要讲第二种方式,在项目资源目录中创建个文件夹用来存放jar包,pom.xml文件中加入如下内容:
<dependency>
<groupId>com.ckfinder</groupId>
<artifactId>json-lib</artifactId>
<version>2.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/jar/json-lib-2.3-jdk15.jar</systemPath>
</dependency>
groupId,artifactId,version可随便写这时候在项目中运行是没问题了,
但是使用命令mvn clean package打包之后并没有json-lib-2.3-jdk15.jar包,还需要pom文件中做如下配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
之后再使用mvn clean package打包就OK了
3. SpringBoot读取Resource下文件的几种方式
// excleTemplate/test.xlsx 放在src/main/resource下
// 第一种
ClassPathResource classPathResource = new ClassPathResource("excleTemplate/test.xlsx");
InputStream inputStream =classPathResource.getInputStream();
// 第二种
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("excleTemplate/test.xlsx");
// 第三种
InputStream inputStream = this.getClass().getResourceAsStream("/excleTemplate/test.xlsx");
4. idea导入新项目后右键main方法没有Run xxx.main()
这里是配置有问题造成的,对比下正常的工程,可以发现src目录的不一样,没有设置为 Sources ,然后打开对应的java文件,可以发现引用也有问题,出现报错的情况,这里是没有引入jdk的原因。(其实这里因为新安装的idea没有配置导致)
- 首先设置Sources目录
File ==》 Project Structure...,在 Modules ==》Sources 中设置Sources目录 - 设置SDK
2.1 Project Structure ==》 Modules ==》 Dependencies 设置为Java 8(本地使用的版本)
2.2 Settings ==》Build,Execution,Deployment ==》 Compiler ==》Java Compiler 设置为Java 8(本地使用的版本)
2.3 Project Structure ==》 Project 设置为Java 8(本地使用的版本)
2.4 Project Structure ==》 Modules ==》 Sources 设置为Java 8(本地使用的版本) - 设置 output 目录,在Project项的配置。
网友评论