Spring boot 打成jar包问题总结 1.Unable to find a single main class from the following candidates 1.1.问题描述 maven build时出现以下错误提示日志: [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.5.RELEASE:repackage (default) on project i…
spring boot将jar包转换成war包发布步骤 将<packaging>jar</packaging>修改为<packaging>war</packaging> 增加下面的依赖覆盖默认内嵌的Tomcat依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat<…
spring boot executable jar/war spring boot里其实不仅可以直接以 java -jar demo.jar的方式启动,还可以把jar/war变为一个可以执行的脚本来启动,比如./demo.jar. 把这个executable jar/war 链接到/etc/init.d下面,还可以变为linux下的一个service. 只要在spring boot maven plugin里配置: <plugin> <groupId>org.springfram…
Spring Boot由jar包转成war包 spring boot 默认是以jar包形式启动web程序,在新建spring boot项目时候可以选择war包的启动方式. 建议在开发的时候建立以jar包启动的web项目,启动效率更快,此时如果想发布成war包形式部署,做如下操作: 1.修改pom.xml 将 <packaging>jar</packaging> 修改成 <packaging>war</packaging> 2.新增如下到pom.xml文件中…
Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布.使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题.所以,jar包不一定合适适用所有的场景,如war包更合适,你可以尝试转为传统的war包,这样打补丁包可能更方便. 如何配置打war包呢? 以下配置以Maven为说明讲解,Gradle的查看类似配置. 1.修改Spring Boot启动类 启动类继承SpringBootServletInitializer类,并覆盖con…
一.概述 Properties 文件是我们可以用来存储项目特定信息的常用方法.理想情况下,我们应该将其保留在 jar 包之外,以便能够根据需要对配置进行更改. 在这个教程中,我们将研究在 Spring Boot 应用程序 中从 jar 外部位置加载 Properties 文件的各种方法. 二.使用默认位置 按照惯例,Spring Boot 按以下优先顺序在四个预定位置查找外部化配置文件 --- application.properties 或 application.yml :{#crayon-…
spring-boot jar 包方式启动: 首先,为了防止和常用的 Tomcat 8080 端口冲突,将 Spring-boot 项目的端口号设置为 9090. 具体方法:在 application.properties 文件里写 server.port=9090. 使用 maven 命令:clean package 打包. 放到服务器上一个合适的位置. 使用 Java -jar spring-boot01-1.0-SNAPSHOT.jar 命令,启动 jar 包. 然后,在浏览器输入 htt…
一:事由 现在的项目组开发项目使用的是Spring Boot的技术,开发的时候是直接通过一个入口主函数来启动项目的.如果将项目交给客户,怎样才能正确的发布运行呢?百度了一下有关的知识,大概了解到是通过导出jar包,直接运行来实现的.不过从网上查阅的资料,都不太理想,于是自己和另外一个同事就倒腾开了.倒腾了好一会,最终找到了一个比较简单有效的方法来实现,现在分享如下. 二:从Eclipse中导出对应的可运行的jar包(这一步是最为关键的) 1:选中对应的java项目——右键——导出 2:选择导出j…
前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到. 我想到了两种方法,一种是根据http访问静态资源比如:localhost:9080/static/template/xxx.ftl文件. 另外一种是根据流获取到文件,然后拷贝到新的文件夹下面.下面说的就是第二种方式的代码 public class DocUtil { //此路径是其他方法进行调用,且只需要加载一次 private static Str…
背景:项目用spring boot构建,maven管理,本地测试好之后打成jar包,在dos窗口可以通过:java -jar demo.jar来启动demo项目,一旦关闭该dos窗口demo项目也被停止,如果有多个spring boot项目,同时打开多个dos窗口显然不合理,遂考虑用Windows脚本文件的方式来后台运行jar文件. 1.新建一个txt文本文件,打开写入如下: @echo off set path=D:\Java8.11\JDK\jre\bin START "demo-proje…
想必大家经常会出现以下报错信息 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]    at java.util.concurrent.FutureTask.report(FutureTask.java…
spring boot intellij Ide打包有两种方式: 1.maven:熟悉.方便配置灵活 2.Build artifacts:操作比较复杂,jar和lib包分离 重点讲maven如何支持jar包和lib包分离方式: pom: <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source…
Spring Boot加载配置文件,默认会从几个固定位置搜索一下看看有没有配置文件 ——application.properties或者bootstrap.properties(如果你使用了spring cloud 相关jar包的话)存在. 这几个位置分别是: classpath:/,classpath:/config/,file:./,file:./config/ 他们定义在: 看到这个地方你应该明白了: 后边两个带“file:”的目录是相对目录,相对的不是你的jar包的存放位置,而是你执行j…
Jar包发布 在项目pom.xml中, 如果继承了Spring Boot的starter parent, 那么默认已经包含打包需要的plugins了, 设置为jar就能直接打包成包含依赖的可执行的jar <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <relativePath/&…
部署方式:打包成jar部署 部署方式有两种,一种是传统的war包,另一种是打包成jar,推荐第二种方式部署 部署准备 1. jar包内置tomcat,无需服务器安装tomcat环境 2.需要JDK,且版本与pom.xml中的`<java.version>1.8</java.version>`一致 3.请注意数据库连接用户,密码等配置,确保能连接服务器上的数据库 若没有安装JDK,tomacat,mysql,可以参考 CentOS 6 安装MySQL 8.0.+和CentOS 6 安…
http://www.cnblogs.com/xingzc/p/5972488.html 1.Unable to find a single main class from the following candidates 1.1.问题描述 maven build时出现以下错误提示日志: [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.5.RELEASE:repackage…
用spring boot框架做的项目,将第三方包全部打在jar里面,通过shell脚本启动和停止服务,常用的shell脚本模板如下: #!/bin/bashJAVA_OPTIONS_INITIAL=-Xms128MJAVA_OPTIONS_MAX=-Xmx512M_JAR_KEYWORDS=monitor-alarm-task-1.0-SNAPSHOT.jarAPP_NAME=monitor-alarm-taskAPPLICATION_FILE=/opt/scpip_monitor/applic…
问题 为什么开发web项目,spring-boot-starter-web 一个jar就搞定了?这个jar做了什么? 通过 spring-boot 工程可以看到所有开箱即用的的引导模块 spring-boot-starter-xxx 都在 spring-boot-starters 子模块中,且所有的 spring-boot-starter-xxx 模块中都没有代码,都是在其他包中就完成对应的功能.首先,分析其依赖 依赖 注意:图中的 Jakarta.xxxx 包是原来的 javax.xxxx 包…
#!/bin/bash # kill java进程 java_sso_prod_pid=`ps aux|grep sso.jar|grep -v "grep"|awk '{print $2}'` if [ "$java_sso_prod_pid" ];then ps aux|grep sso.jar|grep -v "grep"|awk '{print $2}'|xargs kill -9 echo -e "\033[32m[ old…
项目jar包名wxo.jar 清理,打包,跳过测试(不测试) mvn clean package -Dmaven.test.skip=true 后台执行(默认环境) nohup java -jar wxo.jar ** 参数 -Dfile.encoding=utf-8 :UTF-8编码 解决乱码--spring.profiles.active=test :test环境 比如编码utf-8, 环境为test. nohup java -Dfile.encoding=utf-8 -jar wxo.ja…
win根目录下执行 mvn install 生成 可运行jar使用java -jar jar名字 执行项目 ps aux|grep demo.jar  查看进程 kill -9 processid 杀掉进程重启服务…
artifactId 是即将打包的包的名称 version 是即将打包的版本号 packaging 是即将打包的格式,这里讲的是jar包 终端输入命令: mvn clean install 然后在target下查看生成的对应的jar包文件 如何执行呢? 找到一个jdk, 我这边是2.11版本的springboot,需要1.8以上的jdk,然后 java -jar xxx.jar 若有多个jdk安装目录,尤其默认的版本不是1.8以上的,需要指定目录  /opt/jdk1.8.0_131/bin/j…
网上有很多关联映射及讲解,想要说的是   主要就是 classpath  加上的话   jar就可以找到了…
报错内容:class path resource [client.p12] cannot be resolved to absolute file path because it does not reside in the file system 问题所在: 代码使用了 ResourceUtils.getFile("classpath:client.p12")访问文件 ,这个方法只能从类路径下获取文件,无法从jar包中获取,所以打成jar包后发布到windows系统,就报错找不到文件…
概述 1.Spring Boot聚合工程打包war部署Tomcat 2.Spring Boot打包Jar,通过Java -jar直接运行. 3.提供完整pom.xml测试项目 至github 4.项目目前了集成了 Spring Boot + Spring data jpa +Redis集群+dubbo+freemarker 持续更新... 解决问题 1.xxxx中没有主清单属性 2.解决没有web.xml而报错 [ERROR] Failed to execute goal org.apache.…
第一步: 在maven下,将Spring Boot工程由jar转换为war包启动,很简单,将pom.xml文件中的packaging改为war <packaging>war</packaging> 如果你使用Gradle,你需要修改build.gradle来将war插件应用到项目上: apply plugin: 'war'第二步: 产生一个可部署war包的第一步是提供一个SpringBootServletInitializer子类,并覆盖它的configure方法.这充分利用了Sp…
前两天被人问到这样一个问题: "松哥,为什么我的 Spring Boot 项目打包成的 jar ,被其他项目依赖之后,总是报找不到类的错误?" 大伙有这样的疑问,就是因为还没搞清楚可执行 jar 和普通 jar 到底有什么区别?今天松哥就和大家来聊一聊这个问题. 多了一个插件 Spring Boot 中默认打包成的 jar 叫做 可执行 jar,这种 jar 不同于普通的 jar,普通的 jar 不可以通过 java -jar xxx.jar 命令执行,普通的 jar 主要是被其他应用…
一.前言 相信很多同学有这样的需求,现在很多公司都有多地的研发中心,经常需要跨地区部署,比如,博主人在成都,但是服务器是北京的.一般城市间网络都不怎么好,上传一个几十兆的jar包那是真的慢,别说现在微服务架构下,动辄两位数的fat jar.这里说的jar,就是spring boot项目打出来的fat jar类型,一般也有个几十兆吧. 博主之前还遇到部署北美亚马逊环境,好不容易传个包过去,后来发现有bug,需要改class,如果重新打包再传,真的要死的心都有了. 如果要改什么配置,或者发现某个cl…
最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱动 创建spring boot的时候,在界面选择添加了MySql的依赖,但是,实际项目测试的时候,发现驱动错误,所以,得把MySql驱动改为下面的驱动 <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId>…
Spring Boot 打成的 jar 和普通的 jar 有什么区别 ? Spring Boot 打成的 jar Spring Boot的项目终止以jar包的形式进行打包,这种jar包可以通过可以通过命令(java -jar xxx.jar)来运行的,这种jar包不能被其他项目所依赖,即使被依赖了也不能直接使用其中的类.普通的jar包,解压后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在 \BOOT-INF\classes 目录下才是我们的代码,…