`
uiafzhdl
  • 浏览: 25314 次
  • 性别: 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文件,我们的发行包已经整装待发了。

分享到:
评论

相关推荐

    SpringBoot项目制作成exe安装包.docx

    在开发过程中,为了方便非技术人员部署和使用SpringBoot项目,将其制作成exe安装包是一个实用的选择。本文档将详细介绍如何将一个已完成的SpringBoot项目打包成exe安装包的过程。 #### 二、准备工作 在开始制作exe...

    mysql+maven+mavicat+vc+wps

    Visual C++ Redistributable是Microsoft提供的一种可再发行组件包,用于在没有完整Visual Studio安装的计算机上运行使用VC++编译的程序。 5. **WPS Office**:WPS Office是一款由中国金山软件公司开发的办公软件...

    dependency-management-plugin:一个Gradle插件,提供类似Maven的依赖项管理功能

    依赖管理插件 ... 要了解有关使用Dependency Management插件的更多信息,请参阅其。 贡献 该项目的贡献者同意遵守其。 是受欢迎的。 有关详细信息,请参见。 执照 依赖性管理插件是在下发行的开源软件。

    制作产品的安装包

    对于Java项目,可以使用Maven或Gradle等构建工具;对于Python项目,可能涉及pipenv或setup.py。确保所有依赖项被正确地管理和打包,以便在目标环境中顺利运行。 "工具"在制作安装包过程中扮演着重要角色。有许多...

    centos7编译spark2.3v2生成安装包

    使用 Maven 命令进行编译,指定 Hadoop 版本及组件选项: ```bash build/mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -Phive -Phive-thriftserver -Pflume -Pmesos -Pkubernetes -DskipTests clean package ...

    Waywia:Waywia是由aritzhack制作并根据GNU LGPLv3条款发行的开源2D游戏

    您将需要[slick2d-maven]( “ Slick2D-Maven”),以便可以使用maven构建项目(按照自述文件中回购根目录中的说明进行操作) 克隆我的[AritzhUtil]( “ AritzhUtil”)项目,然后将其添加到工作区(Eclipse)或...

    belladati-sdk-tutorial:BellaDati SDK教程使用的源代码

    Maven包含在大多数Eclipse for Java发行版中。 建议使用探索并使用项目源代码。 不需要构建项目。制作说明克隆存储库并签出所需的分支。 您可以通过在项目目录中运行mvn install来构建项目WAR文件。 或者,您可以将...

    gradle使用手册中文版

    Gradle 是一种基于 Java 的开源自动化构建工具,它结合了 Apache Ant 和 Maven 的优点,并引入了一种基于 Groovy 的领域特定语言 (DSL) 来描述项目设置。Gradle 具有高度灵活、易于使用的特性,支持各种规模的项目...

    unxml:转换XML➝JSON(➝对象)的Java 8库

    要使用Maven添加对unXml的依赖关系,请使用以下命令: &lt; dependency&gt; &lt; groupId&gt;com.nerdforge&lt;/ groupId&gt; &lt; artifactId&gt;unxml&lt;/ artifactId&gt; &lt; version&gt;0.9&lt;/ version&gt;&lt;/ dependency&gt;解析器解析器由...制作有...

    自己寫整理的一些文檔,關於azkaban,kylin,fastdfs,tableau

    - 上传作业:将编写好的Hadoop作业(如Java或Python程序)打包成JAR或ZIP文件,通过Web界面上传到项目中。 - 配置作业依赖:定义作业之间的执行顺序和依赖条件。 - 执行工作流:触发工作流的执行,可以是手动启动...

    music:基于现代网络的音乐服务器

    音乐是用Java编写的,可以在具有Java支持的任何操作系统上运行。特征整理您的音乐收藏从各种来源下载音乐Android应用程式资料下载音乐尚未发布,请按照说明从源进行构建。执照音乐是根据GPL许可条款发行的。 有关更...

Global site tag (gtag.js) - Google Analytics