首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

项目打包成 jar 后包无法读取srcmainresources下文件

项目打包成 jar后包无法读取src/main/resources下文件 一、项目场景 二、问题描述 发现问题 分析问题 为什么使用 ClassPathResource 后, 可以找到打包后的文件路径?...' does not exist 即: 在打包后, 一开始配置的路径src/main/resources下无法找到该文件 分析问题 项目在打包之后, 位于 resource目录下的文件, 最常见的就是各种...classLoader 中, 这些路径包括: java运行环境的jar, Maven 项目中的jar, 以及当前项目打包后的jar等(如下图) 而 classPathResource.getInputStream...如下配置 因为指定了banner.txt 以及 xml 与 properties结尾的文件作为资源被打包. 所以文件 holiday.txt 运行后还是访问不到 有问题的pom.xml文件如下 <!....png 我们修改下指定打包的配置**/*.txt 这样配置后, 我们就可以将类路径下的所有txt 文件打包进行项目中了, 打包之后文件位置如下图 或者我们可以去除项目中下面的代码配置

13.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    crmeb Java 项目打包可运行jar文件详细教程

    前言 鉴于很多同学不知道怎么打包可运行的jar文件,今天就给大家出一个详细的教程,希望能帮助到大家 本地已经运行过的同学直接配置prod环境的yml文件后直接mvn install 打包即可。...下载jar,取决于你的网速 正确导入Java项目 配置数据库连接和 打包jar文件 打包之前修改环境配置文件,分别在crmeb-admin 和 crmeb-front包下的 yml,每个环境中的端口都不一样...crmeb-service 公共业务 会打包到admin和front中 crmebiamge 素材包 线上部署时需要上传到服务器,将路径配置到java 配置文件中 ✅打包成功 打包Jar文件成功 打包后在对应目录获取到...获取打包后的jar文件 上传打包好的两个jar文件到创建好的站点根目录 上传jar到宝塔对应api站点 如下图,以admin服务为例 上传Crmeb-admin.jar ,启动jar的shell,和初始化素材包...front jar Swagger 以上步骤已经将java全部服务启动成功!

    1.2K10

    mysql-connector-java-8.0.11-sources.jar下载后无法运行

    问题背景 今天写代码遇到这个报错,解决后发出来分享一下: java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver at java.net.URLClassLoader.findClass...解决方法 错误 java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver 表示 Java 无法在项目的类路径中找到 MySQL 的 JDBC...这可能是由以下原因造成的: 你可能没有将 MySQL 的 JDBC 驱动(例如 mysql-connector-java-8.0.xx.jar)添加到你的项目中。...如果没有,请点击 + 并选择你下载的 JDBC 驱动程序的 .jar 文件。 点击 OK 保存设置。 2....上面的正常解决方案,如果不行的话看看自己下的jar对不对,我就是下错了。 我下载的是mysql-connector-java-8.0.11-sources.jar 直接在我上传的资源中下载好就行。

    23010

    Centos7 运行Springboot打包后的jar文件的相关操作

    1.运行jar包命令如下: 方式1:java -jar demo.jar 特点:CTRL + C 或 关闭ssh窗口,程序退出 方式2: java -jar demo.jar & 特点...方式3:nohup java -jar demo.jar & 特点:nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 2.结束运行的jar文件: 使用ps aux命令查看进程号...PID,执行 kill -9 PID 结束程序 前台进程,直接执行 Ctrl+c 终止运行程序 3.限制jar文件的内存使用: nohup java -jar -Xms512M -Xmx2048M...MaxPermSize:永久内存最大值 堆内存和永久内存区别以及其他参数设置,参考jvm运行机制 一般情况下执行以下命令限制JAR文件使用内存即可: 1.在后台不间断运行程序: nohup java...-jar -Xms100M -Xmx200M demo.jar 2.前台运行程序限制内存 java -jar -Xms100M -Xmx200M demo.jar ---- JAVA

    45120

    Centos7 运行Springboot打包后的jar文件的相关操作

    1.运行jar包命令如下: 方式1:java -jar demo.jar 特点:CTRL + C 或 关闭ssh窗口,程序退出 方式2: java -jar demo.jar & 特点...方式3:nohup java -jar demo.jar & 特点:nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 2.结束运行的jar文件: 使用ps aux命令查看进程号...PID,执行 kill -9 PID 结束程序 前台进程,直接执行 Ctrl+c 终止运行程序 3.限制jar文件的内存使用: nohup java -jar -Xms512M -Xmx2048M...MaxPermSize:永久内存最大值 堆内存和永久内存区别以及其他参数设置,参考jvm运行机制 一般情况下执行以下命令限制JAR文件使用内存即可: 1.在后台不间断运行程序: nohup...java -jar -Xms100M -Xmx200M demo.jar 2.前台运行程序限制内存 java -jar -Xms100M -Xmx200M demo.jar

    69310

    将引用了第三方jar包的Java项目打包成jar文件

    ,应该在 fat.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件在同一个目录下),并将相关的jar包放在里面。...-----Main-Class后面是类的全地址,比如你的主文件是fat.java,文件里打包为package com.main; 那么这里就写com.main,不要加.java后缀,主文件地址写错将会出现...“找不到或无法加载主类”的错误;--------------------------------------写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar...包才能找到你的主class去运行,否则将会出现“jar中没有主清单属性”的错误。...右击Java工程选择Export—>选择JAR file—>Next选择要打包的文件,并进行选项配置选择我们在第一步中自定义的配置文件路径Finish

    82000

    【错误记录】exe4j 打包程序无法设置 jar 包依赖的问题 ( 将源码 和 依赖库打包到同一个 jar 包中 )

    与 依赖库 都是分开的 , 使用 主程序 时 , 必须额外配置依赖库 ; 这里有涉及到另外一个问题 , 想要使用 exe4j 将上述 jar 包打包成一个 Windows 程序 , 将 Jar 包...与 Java 虚拟机打包在一起 , 捆绑成一个可执行的 exe 程序 ; 但是 exe4j 打包时 , 无法设置 jar 包的依赖库 , 只能设置一个 jar 包 ; 研究了下 exe4j 的文档 ,...得到以下结论 : exe4j 打包程序无法设置 jar 包依赖 , 只能设置一个 jni 相关的 native 的 .a 静态库 和 .so 动态库 依赖目录 ; exe4j 也不能设置 java 命令执行参数...打包出来的是一个 jar 包 + 若干 jar 依赖库 , 无法设置到 exe4j 中 ; 在 exe4j 执行时 , 会报错 , 无法找到依赖 , 自然也不能找到相关的类 ; java.lang.ClassNotFoundException...jar 包时 , 选择第一种方案设置 , 然后将所有的 java 源码打包在一起 ; 打包后的效果如下 , 所有的 Java 源码都打包在了一个 jar 包中 ; 注意 , 要删除 META-INF

    69620

    【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

    文件功能类打包为Jar包,可以引入到项目中使用 1.先准备一个java文件 package com.sxd.util; import sun.misc.BASE64Encoder; import java.io.UnsupportedEncodingException...文件编译为class文件   1》【将java文件按照package的路径位置,放在对应的目录下】 ?   ...2》将java文件编译为class文件【要求已经安装了JDK并且配置了环境变量】 【因为文件格式为UTF-8,所以采用下面注明编码方式编译】 ?   3》编译完成之后的目录下 ?...因为在java代码中,最上面的package是如下,所以需要对com层进行打包 ?   2》进入cmd运行打包 ?   3》查看打包出来的jar包以及层级结构 ? ?...4.现在打包jar包成功了,怎么使用到项目中呢?

    2K20

    Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法

    ,文件里打包为package com.main; 那么这里就写com.main.KillCheatFans, 不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误; 4、写完Main-Class...后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行, 否则将会出现“jar中没有主清单属性”的错误。...步骤2:右击Java工程选择Export—>选择JAR file—>Next ? ? 步骤3:选择要打包的文件,不需要的文件不必打包,减小打包后的jar文件大小,并进行选项配置如下 ? ?...如果在jar中有一些System.out.prinln语句(如上执行结果),运行后不想在控制台输出而是保存在文件中方便以后查看,可以用一下命令: java -jar KillCheatFans.jar...Fat Jar Eclipse Plug-In是一个可以将Eclipse Java Project的所有资源打包进一个可执行jar文件的小工具,可以方便的完成各种打包任务,我们经常会来打jar包,但是eclipse

    3.3K20

    【Android 热修复】热修复原理 ( 热修复框架简介 | 将 Java 字节码文件打包到 Dex 文件 )

    文章目录 一、 热修复框架简介 1、类替换 2、so 替换 3、资源替换 4、全平台支持 5、生效时间 6、性能损耗 7、总结 二、 将 Java 字节码文件打包到 Dex 文件 一、 热修复框架简介...类源码文件编译成 class 字节码文件 , 然后转为 dex 文件 , 打包到 apk 中 , 然后在 Android 平台的 Dalvik虚拟机 或 Art 虚拟机中执行 ; 类替换就是将 Java...Java 字节码文件打包到 Dex 文件 ---- 程序出现 BUG , 修复好之后 , 发布修复包到服务器中 , 应用通过网络将修复包下载到手机中 ; 修复包的格式问题 : 修复好的 Java 代码编译后是...源码 , 只保留该文件的字节码文件 MainActivity.class , 其它文件删除 ; 将需要修复的 Class 字节码文件打包成 dex 文件 : 将上述整个 " build\intermediates...dex 文件 | Java 命令行执行 ) 博客内容) 将编译好的 update.dex 放置到 SD 卡中 , 就可以在应用中加载该 dex 文件进行应用热修复 ;

    76620

    nohup java -jar 启动java项目

    nohup与后台进程的区别 后台进程可以通过在命令后添加&符号来启动,如command &。然而,后台进程在用户注销后通常无法继续运行,因为它们会收到SIGHUP信号。...java -jar MyApp.jar:实际的Java命令,用于启动JAR文件。 &:将命令放入后台执行。 输出重定向 默认情况下,nohup会将输出重定向到名为nohup.out的文件中。...Java项目打包与部署 Java项目的打包流程 Java项目打包通常指的是将编译后的.class文件及其依赖项打包成一个可执行的JAR(Java Archive)文件。...配置环境变量,如JAVA_HOME指向JDK安装目录。 确保服务器有适当的权限设置,以便应用程序可以运行。 部署策略 直接部署:将生成的JAR文件上传至服务器的指定目录。...案例源码说明 假设我们已经使用Maven或Gradle成功打包了一个Java应用程序,现在需要将其部署到服务器上。 Maven部署案例 运行mvn package生成JAR文件。

    1.2K11

    SpringBoot 打包部署最佳实践

    spring boot部署问题 Springboot应用程序有两种运行方式 以jar包方式运行 以war包方式运行 两种方式应用场景不一样,各有优缺点 jar包运行 通过maven插件spring-boot-maven-plugin...不管选择哪种方式,在部署时都会遇到下面的问题 如果需要打war包,那么不仅是pom文件需要修改,应用程序也要做相应的改动,改动完后,应用程序就无法本地运行,需要打完包后将配置信息修改回来,这样不仅麻烦,...jar包需要配合容器化才能发挥出最大的优势,如果没有容器,spring boot jar包就是一个玩具,随处运行的jar包,缺少统一管理,是达不到生产的要求,那么如果从jar包到容器也是一个问题。...编写shell脚本进行打包。 shell脚本打包过程为 备份当前启动类的java代码。 将war包启动类的代码替换掉当前启动类的代码。 maven指定pom-war.xml文件进行打包。...因此需要一个远程服务器用于打包和部署,能够实现从源码到镜像过程。jenkins是一个基于java开发的持续集成工具,通过配置插件和编写脚本实现程序从代码到制品再到线上运行的过程。

    4.2K20

    SpringBoot打包部署最佳实践

    spring boot部署问题 Springboot应用程序有两种运行方式 以jar包方式运行 以war包方式运行 两种方式应用场景不一样,各有优缺点 jar包运行 通过maven插件spring-boot-maven-plugin...不管选择哪种方式,在部署时都会遇到下面的问题 如果需要打war包,那么不仅是pom文件需要修改,应用程序也要做相应的改动,改动完后,应用程序就无法本地运行,需要打完包后将配置信息修改回来,这样不仅麻烦,...jar包需要配合容器化才能发挥出最大的优势,如果没有容器,spring boot jar包就是一个玩具,随处运行的jar包,缺少统一管理,是达不到生产的要求,那么如果从jar包到容器也是一个问题。...编写shell脚本进行打包。 shell脚本打包过程为 备份当前启动类的java代码。 将war包启动类的代码替换掉当前启动类的代码。 maven指定pom-war.xml文件进行打包。...因此需要一个远程服务器用于打包和部署,能够实现从源码到镜像过程。jenkins是一个基于java开发的持续集成工具,通过配置插件和编写脚本实现程序从代码到制品再到线上运行的过程。

    3.6K30

    使用Docker容器化Java应用程序

    Docker 是一种轻量级的容器化技术,可以将应用程序及其依赖项打包成一个独立的、可移植的镜像,从而方便地在不同的环境中运行。...一、基本原理 容器化技术的核心思想是将应用程序及其依赖项打包成一个独立的、可移植的镜像,这个镜像可以在任何支持 Docker 的系统上运行。...在这个镜像中,应用程序和其依赖项被打包成一个完整的、可执行的容器,其中包含了操作系统、文件系统、库文件、配置文件以及应用程序本身等。...利用 Docker 技术将 Java 应用程序容器化,可以将所有的依赖项都打包进一个镜像文件中,从而消除这些潜在的冲突和兼容性问题,使得应用程序更加稳定可靠。...jre-alpine 基础镜像,安装了 Java 运行环境,并将应用程序 myapp.jar 复制到 Docker 镜像中。

    45710

    实现 Springboot 程序加密,禁止 jadx 反编译

    ; GraalVMhttps://javakk.com/tag/graalvm 简介:Oracle GraalVM 提前将 Java 应用程序编译为独立的二进制文件。...与在 Java 虚拟机 (JVM) 上运行的应用程序相比,这些二进制文件更小,启动速度提高了 100 倍,无需预热即可提供峰值性能,并且使用的内存和 CPU 更少, 并且无法反编译。...我们的方案 设计目标: 将项目三方依赖 jar 进行加密,使其无法使用 jadx 反编译,但运行时会生成解密后的临时文件。...将项目本身的 class 进行加密,使其无法使用 jadx 反编译运行时解密后的文件。...;使 jadx 无法反编译; 加密class时,对于核心业务代码,使用 javassist 工具将其重写,清空方法体,重置属性值; 解密jar时,将指定目录的 加密包 解密 到指定目录,并将其放入 springboot

    38620

    实现 Springboot 程序加密,禁止 jadx 反编译

    ; GraalVMhttps://javakk.com/tag/graalvm 简介:Oracle GraalVM 提前将 Java 应用程序编译为独立的二进制文件。...与在 Java 虚拟机 (JVM) 上运行的应用程序相比,这些二进制文件更小,启动速度提高了 100 倍,无需预热即可提供峰值性能,并且使用的内存和 CPU 更少, 并且无法反编译。...我们的方案 设计目标: 将项目三方依赖 jar 进行加密,使其无法使用 jadx 反编译,但运行时会生成解密后的临时文件。...将项目本身的 class 进行加密,使其无法使用 jadx 反编译运行时解密后的文件。...;使 jadx 无法反编译; 加密class时,对于核心业务代码,使用 javassist 工具将其重写,清空方法体,重置属性值; 解密jar时,将指定目录的 加密包 解密 到指定目录,并将其放入 springboot

    79110

    【Linux 系列】定制 SpringBoot 应用程序的 Docker 镜像和数据库配置

    经过探索和实践,我成功地将利用 SpringBoot 开发的应用程序打包成 Docker 镜像,并且自定义了数据库的链接信息。在这里,我想分享一下我的经验,希望能对大家有所帮助。...在容器中运行程序时,需要将这些占位符替换为实际的值,否则程序无法连接到数据库。 二丶编写 DockerFile 下面这个 Dockerfile 文件是构建 Docker 镜像文件所需要的配置文件。...它会基于应用程序依赖的 JDK 17 Alpine 镜像进行构建,然后进行一系列的配置操作,包括设置工作目录、复制应用程序 Jar 包到容器中、设置应用程序 Jar 包的环境变量等等。...EXPOSE 8080 # 设置容器启动命令 CMD ["java","-Xms256m","-Xmx512m","-jar","/usr/local/codegen/codegen.jar"] 三丶打包程序为...需要注意的点:docker 无法直接识别 & 这样的特殊符号,前面需要加上占位符 \。 通过以上三个步骤,我们可以自己打包一个 Docker 镜像文件,并且为其自定义数据源的信息。

    55310
    领券