1,生成3个目录/lib,/conf,/bin目录
2,把所有的jar目录编译、拷贝到/lib目录(包括maven的jar包和lib目录下的jar,以及编译的jar包)
3,把所有的启动脚本从工程根目录拷贝到/bin目录
4,把所有的配置文件从src/main/resources拷贝到/conf
下面是配置的pom.xml,我把相关的配置都加了注释,一看就能明白,把build节点拷贝到你们的项目中,就基本可以用了:)
<projectxmlns="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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>testgroupId>
<artifactId>test.commonartifactId>
<version>0.0.1-SNAPSHOTversion>
<packaging>jarpackaging>
<name>test.commonname>
<url>http://maven.apache.orgurl>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
properties>
<dependencies>
dependencies>
<build>
<sourceDirectory>src/main/javasourceDirectory>
<resources>
<resource>
<directory>src/main/resourcesdirectory>
<targetPath>${project.build.directory}/conftargetPath>
resource>
<resource>
<directory>libdirectory>
<targetPath>${project.build.directory}/libtargetPath>
resource>
<resource>
<directory>.directory>
<includes>
<include>***.batinclude>
includes>
<targetPath>${project.build.directory}/bintargetPath>
resource>
resources>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.1version>
<configuration>
<fork>truefork>
<defaultLibBundleDir>libdefaultLibBundleDir>
<source>1.7source>
<target>1.7target>
<encoding>UTF-8encoding>
<executable>C:\Program Files (x86)\Java\jdk1.8.0_91\bin\javac.exeexecutable>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-jar-pluginartifactId>
<version>2.6version>
<configuration>
<outputDirectory>${project.build.directory}/liboutputDirectory>
<archive>
<manifest>
<addClasspath>trueaddClasspath>
<classpathPrefix>lib/classpathPrefix>
manifest>
archive>
<excludes>
<exclude>*.xmlexclude>
<exclude>*.propertiesexclude>
excludes>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-dependency-pluginartifactId>
<version>2.10version>
<executions>
<execution>
<id>copy-dependenciesid>
<phase>packagephase>
<goals>
<goal>copy-dependenciesgoal>
goals>
<configuration>
<outputDirectory>${project.build.directory}/liboutputDirectory>
configuration>
execution>
executions>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-resources-pluginartifactId>
<version>2.7version>
<configuration>
<encoding>UTF-8encoding>
configuration>
plugin>
<plugin>
<artifactId>maven-source-pluginartifactId>
<version>2.4version>
<configuration>
<attach>trueattach>
<encoding>UTF-8encoding>
<outputDirectory>${project.build.directory}/liboutputDirectory>
configuration>
<executions>
<execution>
<phase>compilephase>
<goals>
<goal>jargoal>
goals>
execution>
executions>
plugin>
plugins>
build>
project>
然后执行maven package打包。如果是eclipse,在Project Explorer-> Run As
–> Maven Build… –>在Goals中输入package,点Run进行编译。
在bin目录下的启动脚本start.bat可以这么写:
@ECHO OFF
set CLASSPATH=%JAVA_HOME%/lib
set JAVA=%JAVA_HOME%/bin/java
set CLASSPATH=%CLASSPATH%;../conf
set JAVA_OPTIONS=-Djava.ext.dirs="../lib"
"%JAVA%" -Xms512m -Xmx1024m -classpath "%CLASSPATH%" %JAVA_OPTIONS% test.HangqingEntrance
以上:
把conf目录添加到CLASSPATH中,因为conf目录保存的是从src/main/resources拷贝来的配置文件。
设置-Djava.ext.dirs="../lib" 。因为jar包都放在lib目录。