Maven 打包生成Windows和Liunx启动文件

这篇具有很好参考价值的文章主要介绍了Maven 打包生成Windows和Liunx启动文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新建一个springboot项目。

1、项目结构

Maven 打包生成Windows和Liunx启动文件,Liunx,Maven,Windows,maven,windows,java

2、pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.7.14</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>build-project</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>build-project</name>
	<description>Maven项目打包生成启动文件</description>
	<properties>
		<java.version>11</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<!-- 打包文件名称-->
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<skipTests>true</skipTests>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<delimiters>
						<delimiter>@</delimiter>
					</delimiters>
					<useDefaultDelimiters>false</useDefaultDelimiters>
				</configuration>
			</plugin>
			<!-- 该插件用于打包时自动生成各个环境的启动文件-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<phase>compile</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<target>
								<echo message="生成 windows 启动文件 begin"/>
								<copy tofile="${basedir}/target/start-${project.artifactId}-dev.bat">
									<fileset file="${basedir}/target/classes/run/start.bat"/>
									<filterset>
										<filter token="active" value="dev"/>
										<filter token="artifactId" value="${project.artifactId}"/>
										<filter token="jar" value="./${project.artifactId}.jar"/>
										<filter token="jarName" value="${project.artifactId}.jar"/>
										<filter token="args" value="-Xmx255m -Xms255m -Xmn125m -Xss256k"/>
									</filterset>
								</copy>
								<copy tofile="${basedir}/target/start-${project.artifactId}-test.bat">
									<fileset file="${basedir}/target/classes/run/start.bat"/>
									<filterset>
										<filter token="active" value="test"/>
										<filter token="artifactId" value="${project.artifactId}"/>
										<filter token="jar" value="./${project.artifactId}.jar"/>
										<filter token="jarName" value="${project.artifactId}.jar"/>
										<filter token="args" value="-Xmx255m -Xms255m -Xmn125m -Xss256k"/>
									</filterset>
								</copy>
								<copy tofile="${basedir}/target/start-${project.artifactId}-prod.bat">
									<fileset file="${basedir}/target/classes/run/start.bat"/>
									<filterset>
										<filter token="active" value="prod"/>
										<filter token="artifactId" value="${project.artifactId}"/>
										<filter token="jar" value="./${project.artifactId}.jar"/>
										<filter token="jarName" value="${project.artifactId}.jar"/>
										<filter token="args" value="-Xmx255m -Xms255m -Xmn125m -Xss256k"/>
									</filterset>
								</copy>
								<echo message="生成 windows 启动文件 end"/>
								<echo message="生成 centos 启动文件 begin"/>
								<copy tofile="${basedir}/target/start-${project.artifactId}-dev.sh">
									<fileset file="${basedir}/target/classes/run/start.sh"/>
									<filterset>
										<filter token="active" value="dev"/>
										<filter token="artifactId" value="${project.artifactId}"/>
										<filter token="jar" value="./${project.artifactId}.jar"/>
										<filter token="args" value="-server -Xmx350m -Xms350m -Xmn256m-Xss128k >/dev/null 2>&amp;1 &amp;"/>
									</filterset>
								</copy>
								<copy tofile="${basedir}/target/start-${project.artifactId}-test.sh">
									<fileset file="${basedir}/target/classes/run/start.sh"/>
									<filterset>
										<filter token="active" value="test"/>
										<filter token="artifactId" value="${project.artifactId}"/>
										<filter token="jar" value="./${project.artifactId}.jar"/>
										<filter token="args" value="-server -Xmx350m -Xms350m -Xmn256m-Xss128k >/test/null 2>&amp;1 &amp;"/>
									</filterset>
								</copy>
								<copy tofile="${basedir}/target/start-${project.artifactId}-prod.sh">
									<fileset file="${basedir}/target/classes/run/start.sh"/>
									<filterset>
										<filter token="active" value="prod"/>
										<filter token="artifactId" value="${project.artifactId}"/>
										<filter token="jar" value="./${project.artifactId}.jar"/>
										<filter token="args" value="-server -Xmx350m -Xms350m -Xmn256m-Xss128k >/prod/null 2>&amp;1 &amp;"/>
									</filterset>
								</copy>
								<copy tofile="${basedir}/target/stop-${project.artifactId}.sh">
									<fileset file="${basedir}/target/classes/run/stop.sh"/>
								</copy>
								<echo message="生成 centos 启动文件 end"/>
								<delete dir="${basedir}/target/classes/run" verbose="true"/>
								<chmod file="${basedir}/target/*.sh" perm="+x"/>
							</target>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

3、拷贝run包模板到resources下

地址:https://download.csdn.net/download/qq_36942720/88180434

4、生产中需要的配置文件:test / prod / dev

application.yml

spring:
  profiles:
    active: test

application-test.yml

server:
  port: 8700

spring:
  application:
    name: build-project

application-prod.yml

server:
  port: 8700

spring:
  application:
    name: build-project

application-dev.yml

server:
  port: 8700

spring:
  application:
    name: build-project

5、执行打包命令,生成启动文件

target目录下生成Liunx和Windows启动文件

Maven 打包生成Windows和Liunx启动文件,Liunx,Maven,Windows,maven,windows,java

【注】:

问题:liunx下启动出现 /bin/bash^M: 坏的解释器: 没有那个文件或目录 错误。

原因:dos / windows 和 unix / linux 换行格式编码问题导致,dos / windows  『\n\r 』表示换行 unix / linux  『\n』 表示换行。

解决办法:重新编译启动文件

sed -i 's/\r$//' start-build-project-test.sh

启动文件:

Maven 打包生成Windows和Liunx启动文件,Liunx,Maven,Windows,maven,windows,java文章来源地址https://www.toymoban.com/news/detail-635479.html

到了这里,关于Maven 打包生成Windows和Liunx启动文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • maven安装(windows)

    环境 maven: Apache Maven  3.5.2 jdk环境: jdk 1.8.0_192 系统版本: win10   一、安装 apache官网下载需要的版本,然后解压缩,解压路径尽量不要有空格和中文 官网下载地址 https://maven.apache.org/download.cgi https://maven.apache.org/download.cgi 二、配置环境变量 新建  系统变量 变量名:MAVEN_

    2024年02月13日
    浏览(26)
  • Windows系统配置maven环境

    我们为什么要配置maven呢? Maven是统一集中管理好所有的依赖包,不需要程序员再去寻找。Maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地的到处搜索你需要的jar包了。 注意 :maven的安装需要依赖jdk的安装

    2024年02月01日
    浏览(35)
  • jdk22+maven环境配置教程+idea的maven环境配置(Windows系统)

    jdk是Java开发必要的编程环境,idea是常用的Java开发工具,这里着重解释一下maven。 maven就是我们经常看见的pom.xml文件,maven有以下三点功能: 1.项目构建(可以帮助我们更快速的打包、构建项目) 2.依赖管理,例如我们连接数据库需要的jar包驱动、处理excel表格的驱动等,还有

    2024年04月13日
    浏览(51)
  • 在windows下进行maven安装配置

    https://maven.apache.org/download.cgi 如果需要修改仓库的地址,可新增一条localRepository的记录,加上存放下载jar包的地址。 设置Maven镜像下载地址 配置完成,在命令行输入mvn help:system测试,看到下载链接里面是ailiyun的链接表示配置成功 运行成功后,会在user/.m2/repository目录下会有很

    2024年02月10日
    浏览(44)
  • windows通过ssh连接Liunx服务器并实现上传下载文件

    目录 连接ssh 操作方式 下载上传文件 特别提醒 操作方式 示例 前言-与正文无关         生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步,感受周围的世界。让我们一

    2024年02月02日
    浏览(97)
  • Mac 上Maven的安装 与配置(Windows也适用)

    1. 下载Maven 1. HomeBrew安装 2. 官网下载maven 3. 解压 选择要存放的目录,然后将下载的压缩包解压,本文以Mac下的/Library/Java/apache-maven-3.6.3/ 为例,(Windows 操作一样) 2. 配置环境变量 1. Mac 打开终端,输入 进入配置文件后,按下 i ( 注:英文状态下的,不能出现中文符号 )开始编辑 下边是我本

    2024年02月15日
    浏览(34)
  • 【Maven教程】(三)基础使用篇:入门使用指南——POM编写、业务代码、测试代码、打包与运行、使用Archetype生成项目骨架~

    到目前为止,已经大概了解并安装好了Maven环境, 现在,我们开始创建一个最简单的 Hello World 项目。如果你是初次接触 Maven, 建议按照本文的内容 一步步地编写代码并执行, 其中可能你会碰到一些概念暂时难以理解,但不用着急,记下这些疑难点,我在后续文章中会逐一进行

    2024年02月11日
    浏览(37)
  • Maven私有仓库搭建与使用【nexus的配置与使用】【Windows】

    在公司开发测试过程中,内网团队使用一个服务来节省外网宽带以及缓存Maven Respository中没有的jar包 允许上传和下载私有库,并且不被外部访问,安全稳定 官网下载地址,但是速度很慢,可以使用以下链接获取:添加链接描述 解压好下载的nexus压缩包,会有以下两个文件:

    2023年04月08日
    浏览(54)
  • Maven下载和配置教程:Windows、Mac和Linux系统安装指南

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(43)
  • Windows系统的JDK8 安装、Maven 安装、Git 客户端安装

    Windows系统的JDK8 安装、Maven 安装、Git 客户端安装 本章仅是搜罗的网上教程进行的整合,如有侵权告知删除(本章只用于个人记录)。 三个软件的百度云链接如下,直接下载即可 链接:https://pan.baidu.com/s/1O3uUeskOO94j_p2L9YBlNQ 提取码:gcww 参考该博客 1.下载JDK安装包 方式1:官网

    2024年02月19日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包