读书人

Mava打造包

发布时间: 2012-08-27 21:21:56 作者: rapoo

Mava制作包
   <!-- frame contents -->
<!-- /frame contents --> 按照Maven的标准做法,该功能以插件的方式提供,这个插件就是Maven Assembly Plugin,它的网址是:
   http://maven.apache.org/plugins/maven-assembly-plugin/
  
  1.预备工作
  下载最新Maven 2的软件包,安装后将其bin路径注册到系统的查找路径中。
  执行下面的命令创建一个供测试用的待发布web项目:
  
  命令行
  mvn archetype:create
  -DgroupId=de.focusdv.bcs -DartifactId=myweb
  -DarchetypeArtifactId=maven-archetype-webapp
  
  这会产生下面的目录结构:
  
  Java 代码
  
  myweb
  
   deploy <-- 存放用于制作发行包的Maven配置文件。
  
   output <-- 预期存放我们即将创建的发行包,假设是myweb-1.0-SNAPSHOT.zip。在真实的项目
   中,将这个目录单独放置到其他地方也许会更好。
   dist <-- 存放打包文件,假设这里是myweb-1.0-SNAPSHOT.war
   src
   main
   java
   esources
   webapp
   test
   target
   pom.XML
  
  除了deploy和dist目录由我们自己手动创建外,其余部分为Maven按照标准的目录布局自动产生。
  
  接下来我们的任务就是将myweb下面的src目录、dist目录,以及pom.xml文件打包到myweb-1.0-SNAPSHOT.zip中,供我们的客户使用。
  
  2.编写配置文件
  首先在deploy目录中编写Maven项目的配置文件pom.xml:
  
  xml 代码
  
  <project>
   <modelVersion>4.0.0<!--</span-->modelVersion>
   <groupId>com.mycompany<!--</span-->groupId>
   <artifactId>myweb<!--</span-->artifactId>
   <name>myweb<!--</span-->name>
   <version>1.0-SNAPSHOT<!--</span-->version>
   <url>com.mycompany<!--</span-->url>
   <build>
   <!-- 发行包的输出路径 -->
   <Directory>output<!--</span-->directory>
   <plugins>
   <!-- 对Maven Assembly插件进行配置 -->
   <plugin>
   <artifactId>maven-assembly-plugin<!--</span-->artifactId>
   <configuration>
   <!-- 在生成的发行包名称中不包含assemblyId(这里是“distribution”) -->
   <appendAssemblyId>false<!--</span-->appendAssemblyId>
   <!-- 指定唯一的描述文件 -->
   <descriptors>
   <descriptor>distribution.xml<!--</span-->descriptor>
   <!--</span-->descriptors>
   <!--</span-->configuration>
   <!--</span-->plugin>
   <!--</span-->plugins>
   <!--</span-->build>
  <!--</span-->project>
  
  xml 代码 主要信息已经注释到代码中了。
  
  然后在相同目录下编写在pom.xml中指定的名为distribution.xml的文件:
  
  xml 代码
  
  <assembly>
   <id>distribution<!--</span-->id>
   <formats>
   <!-- 指定发行包使用zip格式 -->
   <format>zip<!--</span-->format>
   <!--</span-->formats>
   <!-- 在发行包中使用根目录,按照惯例,这里是 myweb-1.0-SNAPSHOT-->
   <includeBaseDirectory>true<!--</span-->includeBaseDirectory>
   <!-- 将要打包到发行包中的内容 -->
   <fileSets>
   <fileSet>
   <directory>dist<!--</span-->directory>
   <directory>src<!--</span-->directory>
   <includes>
   <include>*.xml<!--</span-->include>
   <!--</span-->includes>
   <outputDirectory>/<!--</span-->outputDirectory>
   <!--</span-->fileSet>
   <!--</span-->fileSets>
  <!--</span-->assembly>
  
   重要信息同样已经包含到注释中了。
  
  3.制作发行包
  编写好这两个文件之后,在命令行中切换到deploy目录下,执行下面的命令:
  mvn assembly:assembly
  
  假如一切顺利,应该能在output目录下找到myweb-1.0-SNAPSHOT.zip文件,我们的发行包已经整装待发了

读书人网 >软件架构设计

热点推荐