maven工程将main函数打成jar包

现将POM.xml文件的代码粘贴如下:


	4.0.0
	1
	HistoryDataArrange
	0.0.1-SNAPSHOT
	jar

	HistoryDataArrange
	http://maven.apache.org

	
		UTF-8
	

	
		
			junit
			junit
			3.8.1
			test
		
		
			com.winksi
			winksi-web
			0.0.1
		
		
			mysql
			mysql-connector-java
			5.1.27
		
				
		
			commons-dbcp
			commons-dbcp
			1.4
		
	
		
		
			
				org.apache.maven.plugins
				maven-compiler-plugin
				2.3.2
				
					1.6
					1.6
					UTF-8

				
			
			
				org.apache.maven.plugins
				maven-jar-plugin
				
					
						
							true
							
							
							 com.winksi.service.LoadDataService
							
						
					
				
			

			
				org.apache.maven.plugins
				maven-dependency-plugin
				
					
						copy
						install
						
							copy-dependencies
						
						
							lib
							
						
					
				
			
			
			
				maven-antrun-plugin
				
					
						copy-lib-src-webapps
						package
						
							
								
									
										
									
								
							
						
						
							run
						
					
				
			
		
		
			
				
					org.eclipse.m2e
					lifecycle-mapping
					1.0.0
					
						
							
								
									
										org.apache.maven.plugins
										maven-dependency-plugin
										[1.0.0,)
										
											copy-dependencies
										
									
									
										
									
								
							
						
					
				
			
		
	


主要用到的是build标签内的代码,其他的都是引入Jar包用的。

把mainClass标签内的代码换成你主函数所在的位置。

然后在项目上右键MAVEN IMSTALL。即可生成该项目的JAR包

-------------------------------------------------------------------------------------------------------

写shell脚本来执行该Main函数

#! /bin/sh
set -x
JAVA_HOME=/home/zqlx/software/jdk1.7.0_07
CLASSPATH=.:/home/zqlx/software/jdk1.7.0_07/lib/dt.jar:/home/zqlx/software/jdk1.7.0_07/lib/tools.jar
cp=${CLASSPATH}
for i in `ls -1 ../lib/*.jar`; do
       cp=${cp}:./$i
done

deal_date=${1:-`date --date '1 days ago' +%Y-%m-%d`}

nohup $JAVA_HOME/bin/java -cp ${cp} -Xms256m -Xmx2048m com.winksi.dotstat.DotStatPvUv ${deal_date} &

-------------------------结束---------------------------------------

nohup.out为终端输出内容

deal_date为向main函数传递的参数

-----------------------------------------------------------------------

执行jar包指定的main函数命令:JAVA -jar ***.jar

如果想执行另一个类的main函数(非pom.xml指定的main)命令:java -classpath dotstat_v2-0.0.1-SNAPSHOT.jar com.winksi.dotstat.TermActiveStat

                      

你可能感兴趣的:(maven)