springboot  本地上传一直没有问题,但是部署上服务器就总是报找不到路径问题 , 特此记录,以备后用。

首先 由于springboot 本地找到是本目录,到到服务器上由于没有权限在jar里写文件 只能在jar同级目录写文件

@Configuration
public class WebApiConfigurer implements WebMvcConfigurer {
    //静态资源配置
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry)  {
        registry.addResourceHandler("/view/**").addResourceLocations("file:"+System.getProperty("user.dir")+"/view/");

System.getProperty("user.dir") 不管是window 还是linux 都能获取相同的路径 解决了环境不同的问题 ;

@RequestMapping("/upload")
    public void upload(@RequestParam("file") MultipartFile file) {
        if (file.isEmpty()) {
		throw new Exception();
        String filePath = System.getProperty("user.dir");
        File upload = new File(filePath + File.separator + "view" + File.separator);
        if (!upload.exists()) {
            upload.mkdirs();
        File dest = new File(filePath + File.separator +  "view" +  File.separator + "index.html");
        try {
            file.transferTo(dest);
         } catch (IOException e) {
            log.error(e.getMessage(), e);

这样就可以了 

这样就可以在服务器jar 同级目录view 下找到index文件

springboot 本地上传一直没有问题,但是部署上服务器就总是报找不到路径问题 , 特此记录,以备后用。首先 由于springboot 本地找到是本目录,到到服务器上由于没有权限在jar里写文件 只能在jar同级目录写文件@Configurationpublic class WebApiConfigurer implements WebMvcConfigurer { //静态资源配置 @Override public void addResourceH..
      一般的java项目在打包成jar包的时候,会出现src外的文件访问不到的情况。       原因:由于存放的图片的路径可能是在src外面的。这样子,打包成jar包之后,类中访问的路径是需要到src下资源。这时候就出现不到图片的情况。       这里提供几种解决方案: 打包后操作 就是在打包成jar包之
public static String getXmlPath(String type) throws FileNotFoundException, UnknownHostException { // 从项目中获取打包config的demo File path = new File(ResourceUtils.getURL...
下载文件: 运行jersey-server, 不设置端口的情况下,默认为8080,springboot jar运行方式下默认端口为9000 在浏览器输入http://localhost:9000/download?fileFullName=E:/工具/FileZilla.rar 文件路径分割符号请用/替代\,下载服务器上指定路径的文件 上传文件: 运行两个工程,HttpClientPost,jersey-server 运行jersey-server工程,java -jar jersey-server-0.0.1-SNAPSHOT.jar 运行HttpClientPost工程,在cmd下执行r.bat r.bat里写上完整的上传文件路径,如E:/工具/FileZilla.rar,文件路径分割符号请用/替代\ 工程HttpClientPost里url设置访问jersey-server工程的链接 url=http://localhost:9000/uploadtest 工程jersey-server上传后保存的目录设置为D:\tmp 上传下载文件大小在工程jersey-server的配置文件application.properties里设置
1:修改pom文件,去除掉内置tomcat,并且依赖servlet-api <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion&g
授之于鱼不如授之于渔今天我就带着大家一起来探寻jar中资源无法到报 FileNotFoundException 异常现在我手里有一个项目Tank其中有个tank.properties文件存放着 initNum=30及我们坦克初始化的数目模块目录如下我们用IDEA(因为IDEA调试功能比eclipse强大) 有两处需要通过FileOprationTool获取资源new ImageIcon
这两天遇到一个问题,在处理数据加密是否,有的公司,提供的有加密方法,实际是内部使用fileInputStream得到的,这里只需要知道路径名,在实际开发中直接使用很容易得到,不过当使用mvn打包,然后使用java命令启动,会报,出不到文件路径问题,在这个问题我曾经也费了半天得到,所以把这个问题总结下来,分享给大家 项目中路径问题: 分为项目路径和工程路径工程路径,默认是从根目录...
1. 使用Spring Boot内置的热部署 在服务器上部署Spring Boot应用程序时,可以使用Spring Boot内置的热部署功能,只需要在应用程序启动时添加以下JVM参数: java -jar -Dspring.profiles.active=prod myapp.jar --spring.devtools.restart.enabled=true 其中,myapp.jar为应用程序的名称,-Dspring.profiles.active=prod是指定应用程序的配置文件,--spring.devtools.restart.enabled=true是启用热部署的参数。 2. 使用JRebel JRebel是一种Java热部署工具,它可以在不重启应用程序的情况下重新加载Java类和资源文件。可以将JRebel集成到Spring Boot项目中,实现热部署。使用JRebel需要在服务器上安装JRebel Agent,并将JRebel插件集成到开发工具中,然后在应用程序启动时添加以下JVM参数: java -jar -javaagent:/path/to/jrebel.jar myapp.jar 其中,/path/to/jrebel.jar为JRebel Agent的路径,myapp.jar为应用程序的名称。 注意:在生产环境中,不建议使用热部署功能,因为它可能会影响应用程序的性能和稳定性。建议在开发和测试环境中使用热部署。在生产环境中,应该使用标准的部署和更新方式。 springboot2集成hikari连接池的一些坑( Driver does not support get/set network timeout for connections.) 37708