001 创建项目
mvn archetype:generate -DgroupId=com.company.push.monitor -DartifactId=push-monitor -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
002 [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
<project xmlns="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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.company.push.monitor</groupId>
  <artifactId>push-monitor</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>push-monitor</name>
  <url>http://maven.apache.org</url>
  <properties>
    <u><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></u>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>
003 安装第三方依赖

将第三方依赖安装到本地repository

mvn install:install-file -Dfile=/path/to/file -DgroupId=com.company.project -DartifactId=project-common -Dversion=1.0.0  -Dpackaging=jar -DgeneratePom=true

- 本地repository路径通过通过${M2_HOME}/conf/settings.xml中如下字段指定

<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
参考:http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

004 打包依赖包

在pom.xml加入如下内容:

<build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <resources>  
       <resource>  
          <!--basedir = the path where pom.xml is in-->
          <directory>${basedir}/resources</directory>  
       </resource>  
    </resources>
    
    <plugins>
      <u><!-- package dependencies suitable for deployment to a cluster. --></u>
      <plugin>
		 <artifactId>maven-assembly-plugin</artifactId>
		 <configuration>
		   <descriptorRefs>
			 <descriptorRef>jar-with-dependencies</descriptorRef>
		   </descriptorRefs>
		 </configuration>
		 <executions>
			<execution>
			  <id>make-assembly</id>
			  <phase>package</phase>
			  <goals>
			    <goal>single</goal>
			  </goals>
			</execution>
		  </executions>
      </plugin>
    </plugins>
       
  </build> 
打包结果:target/project-SNAPSHOT-jar-with-dependencies.jar
posted on 2014-06-09 16:23  #hanhui  阅读(147)  评论(0编辑  收藏  举报