• 详细解释 集成Maven Spring Mybatis项目包生成Bat文件


    有时在项目必须Maven项目包生成bat文件,长官一人。本文将解释的具体使用方法maven-assembly-plugin插件实现bat文件包。

    1.首先看一下项目结构


    2.配置pom.xml文件,在节点build中增加下面配置内容

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><resources>
    			<resource>
    				<directory>src/main/java</directory>
    				<includes>
    					<include>**/*.xml</include>
    				</includes>
    			</resource>
    			<resource>
    				<directory>src/main/resources</directory>
    				<excludes>
    					<exclude>src/main/resources/bin</exclude>
    				</excludes>
    			</resource>
    			<resource>
    				<directory>src/main/resources/bin</directory>
    				<filtering>true</filtering>
    				<targetPath>bin</targetPath>
    			</resource>
    		</resources>
    
    		<plugins>
    			<plugin>
    				<artifactId>maven-jar-plugin</artifactId>
    				<configuration>
    					<archive>
    						<manifest>
    							<mainClass>com.uih.anyi.mnis.drugbag.service.main.TestMain</mainClass>
    							<addClasspath>true</addClasspath>
    							<classpathPrefix>${lib.output.dir}</classpathPrefix>
    							<useUniqueVersions>false</useUniqueVersions>
    						</manifest>
    						<manifestEntries>
    							<Class-Path>.</Class-Path>
    						</manifestEntries>
    					</archive>
    					<excludes>
    						<exclude>properties/</exclude>
    					</excludes>
    				</configuration>
    			</plugin>
    			<plugin>
    				<artifactId>maven-assembly-plugin</artifactId>
    				<executions>
    					<execution>
    						<phase>package</phase>
    						<goals>
    							<goal>single</goal>
    						</goals>
    					</execution>
    				</executions>
    				<configuration>
    					<descriptors>
    						<descriptor>assembly.xml</descriptor>
    					</descriptors>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build></span>
    2.assembly.xml文件内容

    <span style="font-family:KaiTi_GB2312;font-size:18px;"><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>distribution</id>
    	<formats>
    		<format>zip</format>
    	</formats>
    	<files>
    		<file>
    			<source>${project.build.directory}/${project.build.finalName}.jar</source>
    			<outputDirectory>/</outputDirectory>
    		</file>
    	</files>
    	<fileSets>
    		<fileSet>
    			<directory>${project.basedir}</directory>
    			<outputDirectory>/</outputDirectory>
    			<includes>
    				<include>README*</include>
    				<include>LICENSE*</include>
    				<include>NOTICE*</include>
    			</includes>
    		</fileSet>
    		<!-- 相应src/java/resources/相关文件 -->
    		<fileSet>
    			<directory>${project.build.outputDirectory}/bin/</directory>
    			<outputDirectory>/bin/</outputDirectory>
    		</fileSet>
    		<fileSet>
    			<directory>${project.build.outputDirectory}/properties/</directory>
    			<outputDirectory>/properties/</outputDirectory>
    		</fileSet>
    		<fileSet>
    			<directory>${project.build.outputDirectory}/db/</directory>
    			<outputDirectory>/db/</outputDirectory>
    		</fileSet>
    	</fileSets>
    	<dependencySets>
    		<dependencySet>
    			<outputDirectory>/${lib.output.dir}</outputDirectory>
    			<scope>runtime</scope>
    		</dependencySet>
    	</dependencySets>
    </assembly></span>

    3.编写bat批处理文件

    <span style="font-family:KaiTi_GB2312;font-size:18px;">@title Lachesis Synchronous_DrugBagRec_Datas %1
    
    @echo %~dp0
    echo off
    rem Guess MNIS_HOME if not defined
    set "CURRENT_DIR=%cd%"
    if not "%MNIS_HOME%" == "" goto gotHome
    set "MNIS_HOME=%CURRENT_DIR%"
    if exist "%MNIS_HOME%in
    un_midware.bat" goto okHome
    set "MNIS_HOME=%~dp0.."
    cd "%CURRENT_DIR%"
    
    :gotHome
    if exist "%MNIS_HOME%in
    un_midware.bat" goto okHome
    echo The MNIS_HOME environment variable is not defined correctly
    echo This environment variable is needed to run this program
    goto end
    
    :okHome
    if "%1" == "" goto startup
    
    :startup
    @set classpath=%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib	ools.jar;%MNIS_HOME%lib;
    java -Xms32m -Xmx128m -XX:MaxNewSize=32m -XX:MaxPermSize=128m  -jar %MNIS_HOME%${project.build.finalName}.${project.packaging} %1 &
    
    echo on
    :end
    pause</span>

    4.选择项目,运行Maven Install

    在target下会生成zip包。解压后,执行bin下的bat文件,就能够执行了。



    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    支付宝开发平台之第三方授权登录与获取用户信息
    Struts2之访问路径
    Struts2之命名空间与Action的三种创建方式
    vs和vim
    linux下的各个目录(待填)
    linux-CentOS初学terminal命令(3)rm、chmod、mkdir、who、w、id、systemctl、
    gcc和vs在c的一些区别
    利用putty在window下控制linux的terminal、ftp传输
    linux-CentOS初学terminal命令(2)vi、gcc、g++、./、mv、cp、ifconfig
    linux初学terminal命令(1)ls、cd、su、man、pwd、useradd、passwd、cat、Ctrl+C、Ctrl+Z、Ctrl+L
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4753768.html
Copyright © 2020-2023  润新知