`
sillycat
  • 浏览: 2536070 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SpringBoot and Maven Release Package

 
阅读更多
SpringBoot and Maven Release Package

Here is how the project release a tar.gz file for me including the scripts
Here is the important pom.xml parts
                <plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>deployment/release/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>install-external</id>
<phase>clean</phase>
<configuration>
<file>${basedir}/lib/suitetalk-axis-proxy-v2017_2-1.0.0.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>com.netsuitetalk</groupId>
<artifactId>suitetalk-axis-proxy</artifactId>
<version>v2017_2-1.0.0</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
It uses this assembly.xml configuration file to control the output of the tar.gz file
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>bundle</id>
<formats>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<!--  script  -->
        <fileSet>
            <directory>bin</directory>
            <includes>
                <include>*.sh</include>
            </includes>
            <fileMode>0755</fileMode>
            <outputDirectory>bin/</outputDirectory>
        </fileSet>
        <!-- config files -->
        <fileSet>
            <directory>src/main/resources</directory>
            <includes>
                <include>application*.yaml</include>
                <include>log4j2.xml</include>
            </includes>
            <fileMode>0644</fileMode>
            <outputDirectory>conf/</outputDirectory>
        </fileSet>
        <!--  executable jar -->
        <fileSet>
            <directory>${project.build.directory}</directory>
            <outputDirectory>lib/</outputDirectory>
            <includes>
                <include>${project.artifactId}-${project.version}.jar</include>
            </includes>
            <fileMode>0755</fileMode>
        </fileSet>
        <!--  logging  -->
        <fileSet>
            <outputDirectory>logs/</outputDirectory>
            <excludes><exclude>**/*</exclude></excludes>
        </fileSet>
    </fileSets>
</assembly>
Here are some simple examples for shell script
start.sh
#!/bin/sh -ex
nohup java -Djava.net.preferIPv4Stack=true \
-XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath="/tmp/dump_oom.hprof" \
-Dspring.config.location=file:./conf/application.yaml \
-Dlogging.config=file:./conf/log4j2.xml \
-jar ./lib/sillycatsuperball-1.0.0.jar > logs/sillycatsuperball.log 2>&1 &
stop.sh
#!/bin/sh -ex
PID=$(ps -ef | grep "sillycatsuperball" | grep -v grep | awk '{ print $2 }')
kill -9 ${PID}

References:
https://www.jianshu.com/p/3bd850fcb488
https://segmentfault.com/a/1190000017386408
https://www.cnblogs.com/littleatp/p/9278517.html


分享到:
评论

相关推荐

    SpringBoot集成Spring security 2024.10(Spring Security 6.3.3)

    SpringBoot集成Spring security 2024.10(Spring Security 6.3.3)

    2003-202年全国地级市城镇化率和城镇登记失业率-最新出炉.zip

    2003-202年全国地级市城镇化率和城镇登记失业率-最新出炉.zip

    2020年全国第七次人口普查分县资料和县域年鉴-最新出炉.zip

    2020年全国第七次人口普查分县资料和县域年鉴-最新出炉.zip

    2022省统计年鉴更新了!_2001-2022年各省合集(15省更新至2022)-最新出炉.zip

    2022省统计年鉴更新了!_2001-2022年各省合集(15省更新至2022)-最新出炉.zip

    Matlab实现三角测量拓扑聚合优化器TTAO-CNN-BiLSTM-Mutilhead-Attention多变量预测.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Matlab实现黑猩猩优化算法Chimp-CNN-BiLSTM-Mutilhead-Attention时序预测算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    【SCI一区】Matlab实现向量加权平均算法INFO-CNN-LSTM-Attention的风电功率预测算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    【高创新】基于鹈鹕优化算法POA-CNN-BiLSTM-Attention的用客流量预测算法研究Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    时间序列异常检测相关代码

    时间序列异常检测代码

    近百份2021年各类统计年鉴大全-最新出炉.zip

    近百份2021年各类统计年鉴大全-最新出炉.zip

    计算机基本构成与运行‘’‘’

    计算机基本构成与运行‘’‘’

    【SCI一区】Matlab实现豪猪优化算法CPO-CNN-LSTM-Attention的风电功率预测算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    VMware中安装ubuntu的配置脚本

    内容概要: 本资源提供了一份详细的配置脚本,旨在帮助用户在VMware虚拟机环境中安装Ubuntu操作系统。该脚本涵盖了从创建虚拟机、配置系统参数到完成Ubuntu安装的全过程。 适用人群: 此配置脚本适合有一定计算机操作基础,希望在VMware中快速部署Ubuntu系统的用户,包括IT专业人员、系统管理员以及需要测试和开发环境的软件开发者。 使用场景及目标: 该脚本适用于需要在虚拟化环境中模拟或测试Ubuntu操作系统的场景。目标是提供一个自动化的解决方案,简化安装流程,减少手动配置的时间和可能出现的错误,确保用户可以在一个标准化的环境中开始工作。

    【JCR一区级】Matlab实现能量谷优化算法EVO-CNN-BiLSTM-Attention的故障诊断算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    11013065987288329580866306042.mp4

    11013065987288329580866306042.mp4

    基于VB+ACCESS 实现的车间调度管理系统毕业设计(源代码+论文)

    【作品名称】:基于VB+ACCESS 实现的车间调度管理系统【毕业设计】(源代码+论文) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 车间生产调度管理系统的设计与实现是采用Visual Basic 6.0开发的一个数据库管理系统。 在系统分析中先后用数据流图、数据字典、系统的功能结构图分析了系统所需的各种数据。在系统的设计中,详细的展现了系统的各个功能模块。所需的数据库表及表字段。菜单的设计等。在系统的实现中,给出了实现窗体中相应的功能控件的事件及代码。以及菜单实现的方法。文章的最后则给出了本系统的主要功能源代码。 本系统具有信息查询、添加、修改、删除,数据存储,作业调度,票据的制表和打印等功能。系统的界面简单易懂,系统功能全面,用户操作方便是本设计的特点。 关键词:数据库,管理,调度,信息查询 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。

    高速通信接口PECL、LVECL、CML、LVDS的工作原理及其应用

    内容概要:本文介绍了高速通信系统中几种常见的高速接口标准PECL、LVPECL、CML和LVDS的输入输出电路结构、接口要求以及互连方式。重点讨论了ECL、PECL和LVDS的特点、优缺点及其应用场景,特别是如何实现高性能、低功耗的数据传输。同时详细解释了ECL线接收器的工作原理及其关键组件的功能。 适合人群:电子工程、高速电路设计领域的工程师和技术人员。 使用场景及目标:适用于需要理解和设计高速数据传输电路的技术人员,帮助他们掌握不同接口标准的选择和实际应用,特别是在电路设计、终端匹配、偏置设置等方面的具体细节。 其他说明:文章引用了多种权威资料,如国防工业出版社的ECL教材、Maxim的应用笔记等,确保内容的准确性与可靠性。

    基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码)

    python 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码) 基于 Cutomtkinter 编写的python图形化界面桌面签到程序(源码)

    WPF入门-04绑定Binding(附c#代码)

    WPF绑定使得原本需要多行代码实现的功能,现在只需要简单的XAML代码就可以完成之前多行后台代码实现的功能。 WPF绑定可以理解为一种关系,该关系告诉WPF从一个源对象提取一些信息,并将这些信息来设置目标对象的属性。 目标属性总是依赖属性。然而,源对象可以是任何内容,可以是一个WPF元素、或ADO.NET数据对象或自定义的数据对象等 1.绑定元素对象(BindingElement.xaml) 即数据源是一个WPF元素对象并且源属性是依赖属性。由于依赖属性具有内置的更改通知支持,当在源对象中改变依赖属性的值时,会立即更新目标对象中的绑定属性 {Binding ElementName=源对象名字, Path=源对象名字的属性} //Path除了可以直接绑定属性之外,还可以绑定属性的属性 另外,如果绑定失败时,WPF不会引发异常来告知绑定失败的原因。然而在调试模式下,你可以在输出窗口来查看绑定失败的信息 2.绑定模式(BindingElement.xaml) 要支持双向绑定,只需要设置Binding对象的Mode属性为TwoWay即可。{Binding ElementN

    2011-2021年我国水资源公报-最新出炉.zip

    2011-2021年我国水资源公报-最新出炉.zip

Global site tag (gtag.js) - Google Analytics