`
uiafzhdl
  • 浏览: 25188 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

用maven制作Java项目发行包

阅读更多
制作软件发行包只是Maven能够轻松完成的众多任务之一,下面通过一个简单的实例进行说明。

按照Maven的标准做法,该功能以插件的方式提供,这个插件就是Maven Assembly Plugin,它的网址是:
    http://maven.apache.org/plugins/maven-assembly-plugin/

1.准备工作

下载最新Maven 2的软件包,安装后将其bin路径注册到系统的查找路径中。
执行下面的命令创建一个供测试用的待发布web项目:
命令行
  1. mvn archetype:create \  
  2. -DgroupId=de.focusdv.bcs -DartifactId=myweb \  
  3. -DarchetypeArtifactId=maven-archetype-webapp 

这会产生下面的目录结构:
java 代码
 
  1. myweb\ 
  2.   deploy\    <-- 存放用于制作发行包的Maven配置文件。
  3.     output\  <-- 预期存放我们即将创建的发行包,假设是myweb-1.0-SNAPSHOT.zip。在真实的项目
  4.                  中,将这个目录单独放置到其他地方也许会更好。  
  5.   dist\      <-- 存放打包文件,假设这里是myweb-1.0-SNAPSHOT.war  
  6.   src\  
  7.     main\  
  8.       \java  
  9.       \resources  
  10.       \webapp  
  11.     test\  
  12.   target\  
  13.   pom.xml  

除了deploydist目录由我们自己手动创建外,其余部分为Maven按照标准的目录布局自动产生。

接下来我们的任务就是将myweb下面的src目录、dist目录,以及pom.xml文件打包到myweb-1.0-SNAPSHOT.zip中,供我们的客户使用。

2.编写配置文件

首先在deploy目录中编写Maven项目的配置文件pom.xml:

xml 代码
 
  1. <project>    
  2.     <modelVersion>4.0.0<!---->modelVersion>    
  3.     <groupId>com.mycompany<!---->groupId>    
  4.     <artifactId>myweb<!---->artifactId>    
  5.     <name>myweb<!---->name>    
  6.     <version>1.0-SNAPSHOT<!---->version>    
  7.     <url>com.mycompany<!---->url>    
  8.     <build>   
  9.        <!---->  
  10.         <directory>output<!---->directory>   
  11.         <plugins>   
  12.            <!---->  
  13.             <plugin>    
  14.                 <artifactId>maven-assembly-plugin<!---->artifactId>  
  15.                 <configuration>   
  16.                    <!---->  
  17.                     <appendAssemblyId>false<!---->appendAssemblyId>  
  18.                      <!---->  
  19.                     <descriptors>    
  20.                         <descriptor>distribution.xml<!---->descriptor>    
  21.                     <!---->descriptors>    
  22.                 <!---->configuration>    
  23.             <!---->plugin>    
  24.         <!---->plugins>    
  25.     <!---->build>    
  26. <!---->project>    

xml 代码<o:p> </o:p>主要信息已经注释到代码中了。

然后在相同目录下编写在pom.xml中指定的名为distribution.xml的文件:

xml 代码
 
  1. <assembly>    
  2.     <id>distribution<!---->id>    
  3.     <formats>   
  4.         <!---->  
  5.         <format>zip<!---->format>    
  6.     <!---->formats>   
  7.  <!---->  
  8.     <includeBaseDirectory>true<!---->includeBaseDirectory>   
  9.    <!---->  
  10.     <fileSets>    
  11.         <fileSet>    
  12.             <directory>dist<!---->directory>   
  13.             <directory>src<!---->directory>   
  14.             <includes>    
  15.                 <include>*.xml<!---->include>   
  16.             <!---->includes>    
  17.             <outputDirectory>/<!---->outputDirectory>    
  18.         <!---->fileSet>    
  19.     <!---->fileSets>    
  20. <!---->assembly>   

 

重要信息同样已经包含到注释中了。

3.制作发行包

编写好这两个文件之后,在命令行中切换到deploy目录下,执行下面的命令:
  1. mvn assembly:assembly  

如果一切顺利,应该能在output目录下找到myweb-1.0-SNAPSHOT.zip文件,我们的发行包已经整装待发了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics