ItGo.me - 专注IT技术分享

首页 > 开源汇总 > Maven > Maven打包生成可运行bat脚本文件

Maven打包生成可运行bat脚本文件

时间:2015-01-10来源:网友分享 点击:
   利用Maven的appassembler-maven-plugin插件,就可以实现自动打包可运行的脚本,还可以跨平台。
(Windows/linux)

首先在pom.xml文件的build节点下配置插件:
<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>appassembler-maven-plugin</artifactId>
					<version>1.1.1</version>
					<configuration>
						<repositoryLayout>flat</repositoryLayout>
						<repositoryName>lib</repositoryName>
						<configurationSourceDirectory>src/main/resources/conf</configurationSourceDirectory>
						<!-- Set the target configuration directory to be used in the bin scripts -->
						<configurationDirectory>conf</configurationDirectory>
						<!-- Copy the contents from "/src/main/config" to the target configuration 
							directory in the assembled application -->
						<copyConfigurationDirectory>true</copyConfigurationDirectory>
						<!-- Include the target configuration directory in the beginning of 
							the classpath declaration in the bin scripts -->
						<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
						<!-- prefix all bin files with "mycompany" -->
						<binPrefix>startup</binPrefix>
						<!-- set alternative assemble directory -->
						<assembleDirectory>${project.build.directory}/server</assembleDirectory>
						<!-- Extra JVM arguments that will be included in the bin scripts -->
						<extraJvmArguments>-Xms768m -Xmx768m -XX:PermSize=128m
							-XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m
						</extraJvmArguments>
						<!-- Generate bin scripts for windows and unix pr default -->
						<platforms>
							<platform>windows</platform>
							<platform>unix</platform>
						</platforms>
						<programs>
							<program>
								<mainClass>com.coderli.onecoder.server.HypervisorServer</mainClass>
								<name>startup</name>
							</program>
						</programs>
					</configuration>
				</plugin>

然后选择要编译的工程,右键->maven build… 命令如下图:
package appassembler:assemble

然后执行run,一个可执行的脚本文件就生成好了。startup.bat是windows下的,startup.sh是linux下的,如下图:



maven子项目多项目modules

maven的多项目管理也是非常强大的。一般来说,maven要求同一个工程的所有子项目都放置到同一个目录下,每一个子目录代表一个项目...

maven命令BAT脚本自动退出解决方法

编写BAT脚本执行mvn命令时,出现自动退出,只会执行一行命令。 如 mvn clean package -U -Dmaven.test.skip=true 解决方法: 加入call mvn clean package -U -Dmaven.test.skip=true...

maven基础介绍

maven groupId 团体,公司,小组,组织,项目,或者其它团体。团体标识的约定是,它以创建这个项目的组织名称的逆向域名(reverse domain name)开头。来自Sonatype的项目有一个以com.sonatype开头...

利用Maven的appassembler-maven-plugin插件,就可以实现自动打包可运行的脚本,还可以跨平台。(Windows/linux)
------分隔线----------------------------
推荐文章