<!-- 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文件,我们的发行包已经整装待发了
分享到:
相关推荐
下面我们将详细介绍这三个框架以及它们对应的jar包。 **Struts2** Struts2是一个基于MVC设计模式的Web应用框架,它继承了Struts1的优点并引入了更多现代框架的特性。Struts2的核心包括Action、Interceptor、Result...
Java环信Demo非Maven工程是一个专为Java开发者设计的示例项目,它不依赖于Maven构建系统,而是采用其他方式来管理依赖。环信(Easemob)是一家提供即时通讯服务的云平台,它为企业和开发者提供了构建聊天功能的API和...
【标题】:“scraping:从mava.org上删除会员联系方式” 这个标题表明我们要讨论的是一个网络抓取(Web Scraping)项目,具体目标是从mava.org网站上提取会员的联系方式。网络抓取是一种技术,它允许我们自动地从...
Scripterino是一种创新的脚本语言,由开发者基于个人项目创建,其灵感可能源自于对现有脚本语言如JavaScript、Python或Ruby的反思,以及对Mava项目的放弃。Mava可能是开发者早期尝试的一个编程语言,但在某个阶段被...
maven-license-plugin-1.5.0-sources.jar
同时,MAlib可能还支持一些高级特性,如镜头检测、场景分割,以及与专业电影制作软件的接口。 ### 4. 媒体创作 为了支持媒体创作,MAlib包含了一系列创意工具和特效库。开发者可以利用这些工具创建独特的视觉效果...
足球机器人系统是一个典型的多智能体系统,每个机器人球员选择动作不仅与自身的状态有关,还要受到 其他球员的影响,因此通过强化学习来实现足球机器人决策策略需要采用组合状态和组合动作.本文研究了基于智能体动作...
9. 压缩包子文件“mavenWeb”:这可能代表的是整个Maven Web项目的压缩包,解压后应该包含pom.xml、src目录、target目录等,其中src目录下有Java源代码和资源文件,target目录下则是编译后的类文件和最终的WAR包。...
接下来,描述中的"选择本地下载文件,并在文件中搜索mava-archetype-webapp选择1.3"是指使用Maven的archetype插件来创建Web项目。Maven archetype是预先定义好的项目模板,可以快速生成符合特定标准的项目结构。`...
A、B、C三个球的密度分别是ρA=mAvA=128g/16cm³=8g/cm³,ρB=mB/vB=400g/50cm³=8g/cm³,ρC=mC/vC=60g/12cm³=5g/cm³。由于C球的密度小于其他两个,所以C球是空心的,材料的密度为8g/cm³,即8×10³kg/m³。 ...
部分内容:“SHINE-YOUTECHNOLOGYCO.,LTDMI-NICANInGaAsPIN2.41mm5V-40+85/mAVA/WnApF1234-40+125-50+1254/820T=25Vr=5Vm75/300GHz1.5/0.5RL=50=1310nm0.85/0.80=1550nm0.90/0.850.3/10.6/6.0f=1MHzdB0.2=***nm,T=-...
本课程讲解了通过MAVA管理JAR、依赖,以及将项目拆分为多个模块,部署web工程等知识。 Maven现在是项目管理和依赖管理的必备工具,相信通过本课程的学习,大家可以掌握Maven在实际工程中的实际用法,从而提高自己的...
本课程讲解了通过MAVA管理JAR、依赖,以及将项目拆分为多个模块,部署web工程等知识。 Maven现在是项目管理和依赖管理的必备工具,相信通过本课程的学习,大家可以掌握Maven在实际工程中的实际用法,从而提高自己的...
实验结果在情感分析领域的公开数据集MAVA上验证了该模型的有效性,证明了它能够有效地捕获图像特征,并在情感分析任务中取得更好的表现。这一模型的创新之处在于它强调了对图像局部语义信息的重视,通过结合视觉和...
比如,计算公式为 mAvA + mBvB = (mA + mB)v,其中 m 是质量,v 是速度。 10. 平抛运动测量速度:在某些实验中,可能使用斜槽和平抛运动来测量碰撞前后小球的速度,通过测量小球在空中飞行的时间和水平位移,结合...
2. 动量守恒定律:在问题16的第一部分中,系统A和B的整体动量在不受外力作用时是守恒的,利用mAvA - mBvB = 0来求解速度。 3. 圆周运动与洛伦兹力:问题15提到了带电粒子在磁场中的运动,根据洛伦兹力提供向心力的...
4. **动量守恒定律**:爆炸瞬间,A、B系统动量守恒,即mBvB - mAvA = 0,通过这个方程可以求出B的速度。 5. **能量转换与守恒**:物块A压缩弹簧并被弹回,最大弹性势能Ep对应弹簧压缩最严重的情况。根据能量转换和...
当系统从静止释放后,物体B与C分离时,通过动量守恒定律(mAvA - (mB + mc)vC = 0)和能量守恒(动能和弹性势能的关系)可以计算出B对C做的功和A、B的速度。B与C分离时,B对C做的功W可以通过动能定理得出。最终,...
此报告是“第四次工业革命”系列的一部分,并得到了MAVA基金会的资金支持。 在序言中,世界经济论坛强调了其为改善全球状况所做的努力,并解释了此次报告是与世界经济论坛第四次工业革命中心合作,致力于推动公共和...
动量p=mv,碰撞前后动量可表示为pA=mAVA,pA'=mAV'A,pB=mBVB,pB'=mBVB'。 12. 油膜法测分子直径:油膜法利用单分子油膜的厚度来估算油酸分子的直径。正确的操作是让油膜尽可能散开,待稳定后通过测量油膜的形状和...