精华内容
下载资源
问答
  • maven打包脚本

    2021-07-12 22:16:20
    分享一个好用的maven一键打包windows脚本,新建文本文件,后缀改为bat,将以下内容复制到文件中,将脚本文件放在需要打包的模块并列的目录中,双击运行脚本即可。需事先配置好maven环境变量M2_HOME为maven根目录 (1...


    分享一个好用的maven一键打包windows脚本,新建文本文件,后缀改为bat,将以下内容复制到文件中,将脚本文件放在需要打包的模块并列的目录中,双击运行脚本即可。需事先配置好maven环境变量M2_HOME为maven根目录

    (1)一键打包所有模块,脚本如下:

    @echo off
    
    echo ==========================start to install all modules===============================
    
    if not exist "%M2_HOME%\bin\mvn.cmd" echo Please set the M2_HOME variable in your environment,We need maven! & EXIT /B 2
    
    set SERVER=common-starter eureka-server config-server device-demo message-system report-system udp-server
    
    cd %~dp0
    
    for %%a in (%SERVER%) do (
        cd "%%a"
        call mvn clean install -DskipTests
        cd ../
    )
    
    timeout /T 3 /NOBREAK
    
    exit
    

    (2)若需要手动选择打包单个模块,可使用如下脚本:

    @echo off
    
    if not exist "%M2_HOME%\bin\mvn.cmd" echo Please set the M2_HOME variable in your environment,We need maven! & EXIT /B 2
    
    set BASE_DIR=%~dp0
    set COMMON_STARTER_DIR=common-starter
    set EUREKA_DIR=eureka-server
    set CONFIG_DIR=config-server
    set DEVICE_DIR=device-demo
    
    :begin
    echo ==========================Please choose the module to install===============================
    echo 0 exit
    echo 1 %COMMON_STARTER_DIR%
    echo 2 %EUREKA_DIR%
    echo 3 %CONFIG_DIR%
    echo 4 %DEVICE_DIR%
    
    rem cls是清除当前界面信息(如果不想看到maven打包信息,可添加),explorer target是打开target目录
    set "MVN_OPT=%MVN_OPT% clean install -DskipTests && cls && explorer target"
    
    set/p a=Please choose the number,and press Enter key:
    if "%a%"=="1" goto :A
    if "%a%"=="2" goto :B
    if "%a%"=="3" goto :C
    if "%a%"=="4" goto :D
    if "%a%"=="0" goto :end
    
    echo\
    echo input error,please choose again!
    echo\ 
    goto :begin
    
    :A
    cd %BASE_DIR%\%COMMON_STARTER_DIR%
    rem 由于mvn本身也是BAT文件,并且其结束时执行了exit命令。要让mvn命令不使当前脚本自动退出,只需要在mvn之前加上call命令
    call mvn %MVN_OPT%
    goto :begin
     
    :B
    cd %BASE_DIR%\%EUREKA_DIR%
    call mvn %MVN_OPT%
    goto :begin
    
    :C
    cd %BASE_DIR%\%CONFIG_DIR%
    call mvn %MVN_OPT%
    goto :begin
    
    :D
    cd %BASE_DIR%\%DEVICE_DIR%
    call mvn %MVN_OPT%
    goto :begin
     
    :end
    exit
    

    展开全文
  • 1.如何在打包后的MANIFEST.MF中申明Main-Class和Class-Path?在pom.xml文件中添加以下配置,若不添加此配置,则生成默认的MANIFEST.MF <plugin> <groupId>org.apache.maven.plugins&...

    1.如何在打包后的MANIFEST.MF中申明Main-Class和Class-Path?在pom.xml文件中添加以下配置,若不添加此配置,则生成默认的MANIFEST.MF

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.6</version>
        <configuration>
            <archive>
                <manifest>
                    <addClasspath>true</addClasspath>
                    <classpathPrefix>lib</classpathPrefix>
                    <mainClass>com.broada.Startup</mainClass>
                </manifest>
            </archive>
        </configuration>
    </plugin>
    #没配置maven-jar-plugin
    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver
    Built-By: XX
    Created-By: Apache Maven 3.3.9
    Build-Jdk: 1.8.0_121
    
    #配置maven-jar-plugin
    Manifest-Version: 1.0
    Archiver-Version: Plexus Archiver
    Built-By: XX
    Created-By: Apache Maven 3.3.9
    Build-Jdk: 1.8.0_121
    Class-Path:lib/spring-tx-4.3.11.RELEASE.jar lib/dubbo-2.8.4.171113.jar lib/aopalliance-1.0.jar lib/netty-3.7.0.Final.jar
    Main-Class: com.xx.Startup

    2.将依赖包打包到指定目录

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
            <execution>
                <id>copy-dependencies</id>
                <phase>package</phase>
                <goals>
                    <goal>copy</goal> <!-- copy:拷贝指定依赖包到dependency(默认)或指定目录下,copy-dependencies: 拷贝依赖包-->
                </goals>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>junit</groupId>
                            <artifactId>junit</artifactId>
                            <version>4.11</version>
                            <!--<outputDirectory>${project.build.directory}/lib</outputDirectory>-->
                        </artifactItem>
                    </artifactItems>
                </configuration>
                <!-- 不设置该输出目录,则默认dependency-->
                <!--<configuration>-->
                    <!--<outputDirectory>${project.build.directory}/lib</outputDirectory>-->
                <!--</configuration>-->
            </execution>
        </executions>
    </plugin>

    goal:

    • copy: 将指定的依赖包拷贝到指定的目录(默认为dependency)
    • unpack: 将指定的依赖包解压后拷贝到指定目录
    • copy-dependencies: 将项目所有依赖包拷贝到指定目录
    • unpack-dependencies: 将项目所有依赖包解压后拷贝到指定目录

    outputDirectory: 指定依赖包的输出目录,若不指定,默认为dependency

    3.指定需要打包的资源文件

    <!-- 不设置resources情况下,默认加载src/main/resources下面的资源文件和src/main/java下的class文件,若定义了resources,则默认不会加载resources下面的文件,需指定-->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>
    • 若在pom.xml文件中的<build>中不指定<resources>,则打包默认加载src/main/resources下的所有资源文件以及src/main/java下的所有.class文件
    • 若在<build>中指定了<resources>属性,则默认不会加载src/main/resources下面的资源文件,需单独指定
    • 默认情况下打包只会加载src/main/java下的.class文件,若想加载该目录下的其它文件,可用<include>属性单独进行指定
    • 若在<resource>中指定了src/main/java,则打包后会加载该目录下的所有文件,包括.java文件,可用<exclude>属性排除

    4.maven-assembly-plugin插件打tar.gz包

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.6</version>
        <!--
        <configuration>
            <archive>
                <manifest>
                    <mainClass>com.xx.Startup</mainClass>
                </manifest>
            </archive>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
        -->
        <configuration>
            <descriptors>
                <descriptor>assembly.xml</descriptor>
            </descriptors>
            <finalName>appName</finalName>
        </configuration>
        <executions>
            <execution>
                <id>build-assembly</id>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

    descriptorRef是提供的默认打包方式,其包含bin、src、jar-with-dependencies、project,一般采用自行定义打包内容,下图是自定义的assembly.xml文件

    <assembly
        xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
        <id>V1.0</id>
        <formats>
            <format>tar.gz</format>
        </formats>
    
    
        <fileSets>
            <fileSet>
                <directory>src/main/resources/conf</directory>
                <outputDirectory>./conf</outputDirectory>
                <fileMode>0755</fileMode>
            </fileSet>
    
            <fileSet>
                <directory>target/classes</directory>
                <outputDirectory>./classes</outputDirectory>
            </fileSet>
        </fileSets>
    
    
        <dependencySets>
            <dependencySet>
                <outputDirectory>./lib</outputDirectory>
                <excludes>
                    <exclude>${groupId}:${artifactId}</exclude>
                </excludes>
            </dependencySet>
        </dependencySets>
    </assembly>

    打包后默认包名为${artifactId}-${id}.tar.gz,artifactId为工程创建时的定义的值,id为assembly.xml中定义的值

    展开全文
  • maven脚本打包

    2016-08-25 09:37:44
    这是自己写的一个maven批处理打包脚本,层级目录需要先配置好,这个打包针对的是分布式的项目,如果项目名字结构不同,需要自行修改,希望大家哪去有用。
  • maven项目打包脚本

    2020-07-29 15:25:48
    在多项目需要打包安装时采用的打包脚本 #!/bin/bash package_path=$(cd $(dirname $0); pwd) # 打包 function package_cmd() { mvn clean package install -Dmaven.test.skip=true -Dcheckstyle.skip=true } # ...

    在多项目需要打包安装时采用的打包脚本

    #!/bin/bash
    
    
    package_path=$(cd $(dirname $0); pwd)
    # 打包
    function package_cmd() {
        mvn clean package install -Dmaven.test.skip=true -Dcheckstyle.skip=true
    }
    # 拷贝
    function find_package() {
    # 查找并拷贝文件
    find ./ -iname *.tar.gz -type f | xargs -i cp {} ${package_path}
    
    if [[ -d "$(pwd)" ]]; then
    echo "清理目录..."
    rm -rf $(pwd)
    fi
    echo "打包完成,文件路径:${package_path}"
    cd ..
    }
    # 参数说明 1 = git_path  2 = branch
    function package() {
    git_path=$1
    project_name=$(basename ${git_path##*/} .git)
    
    if [[ -d "${package_path}/${project_name}" ]]; then
      echo "目标路径 '${project_name}' 已经存在"
      exit 1
    fi
    echo "开始打包..."
    # git 拉取指定分支项目
    git clone -b $2 ${git_path}
    # assembly
    cd ${package_path}/${project_name}
    # 编译打包
    package_cmd
    if [[ $? -ne 0 ]];then
    	echo "编译出错"
    	exit 1
    fi
    find_package
    }
    # 要打包的git项目地址
    rest_utils=https://github.com/confluentinc/rest-utils.git
    rest_utils_branch=5.5.0-post
    # 打包
    package ${rest_utils} ${rest_utils_branch}
    
    
    
    
    展开全文
  • 主要介绍了Maven打包并生成运行脚本,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 实用的Maven打包脚本

    千次阅读 2012-11-23 20:48:08
    Bat脚本会自动打包工作区中的各个工程,并将打包出来的war包拷贝到新建的build_war文件夹中。   echo 'Start to build project' @echo off 【@echo off关掉回显,否则下面每执行一条语句都会打印一下正在执行的...


    拷贝下面的Bat脚本到工作区,执行build.bat development(或test等)。Bat脚本会自动打包工作区中的各个工程,并将打包出来的war包拷贝到新建的build_war文件夹中。

     

    echo 'Start to build project'

    @echo off

    @echo off关掉回显,否则下面每执行一条语句都会打印一下正在执行的命令】

     

    set MAVEN_OPTS=-Xms128m -Xmx512m-Dfile.encoding=UTF-8

    【设置Maven运行时内存大小和编码格式,否则读取应用中的配置文件时会有编码问题】

     

    set profileId=%1

    【保存命令行中输入的参数到profileId变量中】

     

    cd test_dto

    call mvn clean install-Dmaven.test.skip=true

    call新建命令行进程执行,否则mvn install后会自动停止】

    -Dmaven.test.skip=true跳过单元测试】

     

    cd ..\test_web

    call mvn clean package-Dmaven.test.skip=true -P%profileId%

    %profileId%取出profileId的值】

     

    cd ..

    mkdir build_war

    cd build_war

    copy..\test_web\target\test_web.war .

    【拷贝构建结果到新建的文件夹】

     

    @echo on

    echo 'Build project successfully!'

    【打开回显,提示打包成功】

     

     

    展开全文
  • maven bat脚本打包

    2016-05-16 10:52:00
    脚本内容: @echo off echo 正在设置临时环境变量 set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45 set MAVEN_HOME=D:\apache-maven-3.2.5 set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar...
  • 不知道你是否在开发中一直遇到这样的问题,在maven打包的时候有2中方式,一种就是在ide工具里面打包,然后在ide的输出信息里面找到对应的war或者jar包所在位置,然后拷贝出来。另一种就是先找到项目所在的位置然后...
  • Maven打包并生成运行脚本

    千次阅读 2018-07-25 16:23:24
    1、 Parent Project pom.xml &amp;amp;...maven-jar-plugin.version&amp;amp;amp;gt;2.4&amp;amp;amp;lt;/maven-jar-plugin.version&amp;amp;amp;gt; &amp;amp;amp;lt;m
  • maven打包

    2020-12-22 16:16:57
    学习maven打包,大家尝试maven打包(clean install) 启动项目,脱离我们的开发工具,编写windows bat脚本启动项目,指定dev配置文件(springboot启动如何指定配置文件),在我们的电脑上运行起服务,页面能够独立访问 ...
  • maven 打包 动态启动脚本 本文介绍如何通过maven的环境变量动态打包, 并动态改变启动脚本中的环境参数 前提 maven 打包, 配合 assembly 脚本 maven环境变量(知道这个是怎么回事的直接跳过这部分即可) 设置 在 pom....
  • Maven 打包实战

    千次阅读 2019-03-13 19:14:04
    前言 上一章,我们介绍了Maven内的常见插件.Maven的...本章我们将详细的介绍Maven打包以及打包的各种情况. PS: 本文所用的Maven例子可以在我的Github仓库内找到 https://github.com/SeanYanxml/maven-train Jar包 所...
  • 脚本自动从svn代码库里面更新最新的代码下来,然后maven打包,最后把war包丢到tomcat里面去。其实搞个Jenkins就完事了,但是还是想自己写个脚本玩玩,因此特意记录下自己写这些脚本的过程,方便后续查阅。一、环境...
  • Maven 打包

    千次阅读 2016-01-02 10:37:07
    打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当然就是JAR包和WAR包了,...
  • JavaFx maven打包

    2021-04-06 11:23:48
    JavaFx maven模式下的打包打包生成可执行jar包和EXE可执行文件POM文件中的打包配置 打包生成可执行jar包和EXE可执行文件 POM文件中的打包配置 <build> <plugins> <plugin> <groupId>org....
  • maven打包项目

    2018-05-10 08:28:00
    使用maven可以对项目进行很方便的管理,方便体现之一便是项目的打包发布变得方便,本文主要是讲一下maven打包时的一些命令和注意事项(皆是自己从应用中总结的理解,或有不对之处)。 maven项目打包时除了项目...
  • maven 打包

    千次阅读 2013-08-27 11:40:01
    或一个包含jar包,配置文件,脚本文件等等的一个zip文件(assembly)。 如果没有在pom中显示的指定,则会使用默认的插件(通过查看effective pom可以看到)并按默认方式打包。 我们常用maven-jar-p
  • maven(1):maven打包工具

    2020-10-28 19:48:00
    文章目录maven相关的一些知识maven打包插件 maven-assembly-plugin,maven-shade-plugin与maven-assembly-plugin一、介绍二、 打包准备三、 maven-jar-plugin插件(maven默认打包插件)四、 maven-shade-plugin五、 ...
  • CentOS上实现一键Maven打包并部署到Tomcat的Shell脚本#!/bin/bash # #Tomcat部署脚本export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/apache-maven-3.3.9/binclearprintf " #...
  • 先简单介绍下maven打包的几种方式,如果你只是想知道如何使用assembly插件打包的时候去掉assembly id可以直接跳到下面 Maven打包的几种方式 1. 使用maven-jar-plugin打包 使用默认的maven-jar-plugin 打包 在使用idea...
  • maven打包常用命令总结

    万次阅读 2019-10-24 23:15:38
    maven打包常用命令总结基本命令介绍1、mvn clean2、mvn compile3、mvn package4、mvn install5、mvn deploy生产环境打包举例1、生产环境根据源码构建项目:2、可用用到的其他mvn参数介绍: 开发过程中常见以下几个...
  • maven打包踩坑

    2019-11-08 14:16:20
    最近项目组要用jmeter来测试接口的性能。由于接口是加了鉴权的,所以必须要在发送请求前填充鉴权所需的数据,而这些数据是按照一定的算法生成的,所以需要编写一段脚本去模拟生成鉴权的数据...首先就是maven打包的三...
  • maven打包的问题

    2021-06-28 16:17:34
    最近maven打包遇到的问题: 问题1.同样的代码,一台电脑打包成功,一台报错 最后发现是jdk的问题,在maven的toolchains中指定需要使用的jdk办法 问题2.同样的代码 同一台电脑 直接使用mvn命令打包(mvn clean ...
  • 利用Maven的appassembler-maven-plugin插件,就可以实现自动打包可运行的脚本,还可以跨平台。 <plugin>  <groupId>org.codehaus.mojo</groupId>  <artifactId>appassembler-maven-...
  • java web Maven 打包.sh .bat执行脚本

    千次阅读 2017-08-17 20:33:03
    先在项目的pom.xml文件加入 org.codehaus.mojo appassembler-maven-plugin 1.2.1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,211
精华内容 10,484
关键字:

maven打包脚本