初学maven(5)-使用assembly plugin实现自定义打包

在上一篇文章中,讨论到在对maven的机制不熟悉的情况下,为了实现自己需要的打包格式而使用maven ant task以maven + ant的方式来实现非标准打包,而现在要介绍的是maven中针对打包任务而提供的标准插件:assembly plugin。

依然以上文(初学maven(4)-使用maven ant task实现非标准打包)的项目为例,要打包的程序如下:

  demo1
   |____lib
   |_____demo1.jar
   |_____*****.jar
   |_____*****.jar
   |____config
   |_____*****.properties
   |_____*****.xml
   |____log
   |_____*****.log
   |____run.bat
   |____run.sh

类似的建立java项目,文件结构如下:

  demo1
   |____src/main/java
   |____src/main/config
   |____src/main/bin
   |____src/main/resources
   |____src/main/assemble
   |____src/test/java
   |____src/test/resources
   |____target
   |____pom.xml

除开增加了src/main/assemble目录和没有ant的build文件外,其他内容完全一样:其中src/main/java下放java代码;src/main/resources下放一个*.properties文件,这个资源文件是打包到 jar中,内容打包之后不需要改变的。src/main/config下放一个标准的log4j.xml,这个是有在安装运行前临时修改的需要的。src /main/bin下放置可执行文件。

时间: 2024-12-03 20:20:17

初学maven(5)-使用assembly plugin实现自定义打包的相关文章

初学maven(4)-使用maven ant task实现非标准打包

maven很强大,但是总有些事情干起来不是得心应手,没有使用ant时那种想怎么干就怎么干的流畅感.尤其当要打包一个特殊(相对maven的标准架构而且)时,常有不知所措的感觉.当然这个应该和自己对maven的了解不够有关,毕竟,"初学maven"嘛. 但是maven在依赖管理方面实在是太强大了,太喜欢,退回原来的ant方式完全不可能,我想用过maven的人,一般是不会有回到原来在cvs,subversion中checkin/checkout n个jar包的时代,仅此一项理由就足够继续坚持

初学maven(1)-常见小问题集锦

初学maven,遇到不少问题,记录下来,呵呵,依然是备忘兼共享. 一. The pulgin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or valid version could be found 安装官方标准的安装方式(http://maven.apache.org/download.html#Installation)安装完毕,运行mvn --version没有问题. 然后按照"maven in 5 m

c#-C# 制作自定义打包程序的问题

问题描述 C# 制作自定义打包程序的问题 我想根据客户的选择来决定安装什么文件,这样的安装程序怎么制作 解决方案 C# winform 安装程序打包(自定义操作) 解决方案二: 谢谢,但这不是我想要的那种效果 解决方案三: 用InstallShield打包不同安装类型的安装包 需求:要将两个软件打包到一个InstallShield安装包中,但这两个软件又要分别安装. 明确要求后首先想到的是以前做的InstallShield安装包都只能运行一次安装,如果软件已经安装,再次运行安装包时就会卸载已安装

备忘:maven 错误信息: Plugin execution not covered by lifecycle configuration

<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/xsd/maven-4.0.0.xsd">  <modelVers

初学maven(3)-使用nexus替代artifactory作为maven私服

之前看到过一些Nexus的介绍,由于刚开始接触maven时使用的私服是artifactory,因此没有太在意.今天想着既然Nexus能有胆量出来混,应该有点真本事才是,看了一下nexus的安装介绍,挺简单的,试试无妨.因此装上小试了一下,结果喜出望外,nexus的表现非常不错,尤其是在开启远程索引之后,简直太方便了. 于是决定放弃artifactory改而使用nexus作为自己的maven私服.恩,惭愧,颇有点喜新厌旧的味道,artifactory才装上来没有几天,就惨遭抛弃...... 整理了

初学maven(2)-maven/artifactory/m2eclipse安装全过程

前段时间研究过一下maven,中途因为工作忙搁置了一段时间,重新再看时发现安装过程基本忘光.只好找资料看然后再来一遍,将maven,artifactory和m2eclipse安装使用的全过程记录整理出来,备忘.另外我想这些资料应该比较适合maven的入门新手,照做一遍就可以完成三个东西的安装设置,然后就可以学习和使用了. 一. 安装maven 安装官方标准的安装方式(http://maven.apache.org/download.html#Installation)安装,步骤如下 1. 下载解

Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式_javascript技巧

默认情况下,生成的页面代码可能与下面的代码类似: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head&g

Hbuilder应用离线本地自定义打包

最近接触公司一个项目,使用Hbuilder框架构成的.但是在离线本地打包的时候出现了困扰,开始是基于官方的案列下进行开发的,测试也是好的,没有任何影响,但是在上传应用市场的时候出现了包名已经在应用市场存在的问题.认真研究了一下.成功的把应用,离线本地打包上传到安卓市场,并审核通过.下面就介绍具体细节. 一.进入Hbuilder官网,进入文档页面. 首先我们需要配置好Android开发环境.工具推荐使用eclipse.比较简单.ADT开发包可以进入Android官网下载(developer.and

Maven之多模块打包成一个jar包及assembly

一.多模块打包   Xml代码   <?xml version="1.0" encoding="UTF-8"?>   <project xmlns="http://maven.apache.org/POM/4.0.0"            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"            xsi:schemaLocation=&