Maven 打 sar包

遇到个问题,之前用maven-sar-plugin插件来打sar包,打出来的包中不能把dependencies/dependencymanagement中定义的3方包打进去。后来改用jboss的sar插件。
用法很简单:

<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"> <modelVersion>4.0.0</modelVersion> <groupId>TestSar</groupId> <artifactId>TestSar</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jboss-sar</packaging> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jboss-packaging-maven-plugin</artifactId> <version>2.2</version> <!-- Enable 'jboss-sar', etc., as a recoginized maven packaging type --> <configuration> <libDirectory>${project.build.directory}/${project.build.finalName}</libDirectory> <excludes> <exclude>com.test.bean:TestSarEJB</exclude> <exclude>javax:javaee-api</exclude> </excludes> </configuration> <extensions>true</extensions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.test.bean</groupId> <artifactId>TestSarEJB</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.5</version> <scope>compile</scope> </dependency> <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.6</version> <scope>compile</scope> </dependency> </dependencies> </project>

其中 TestSarEJB 是另外一个maven项目。 commons-lang 跟 commons-configuration 是用到的三方包。
<libDirectory>${project.build.directory}/${project.build.finalName}</libDirectory>这里是指明三方包存放的目录。默认是在 ${project.build.directory}/${project.build.finalName}/lib下面。jboss认不出来。这里很奇怪。。。既然认不出来干嘛还要放到lib下呢?
<excludes>是把一些用不到的lib给屏除。因为默认它会把用到的一切jar包打进去。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAPCAR 是 SAP 公司使用的压缩解压软件,从 SAP 网站下载的补丁和小型软件基本都是扩展名为 car 或 sar 的,它们都可以用 SAPCAR 来解压。下面是它的使用说明: 用法: 创建新档案: SAPCAR -c[vir][f archive] [-P] [-C directory] [-A filename] [-T filename] [-X filename] [-p value] [-V] file1 file2 ... 列出一个档案的内容: SAPCAR -t[vs][f archive] [file1 file2....] 从档案提取文件: SAPCAR -x[v][f archive] [-R directory] [-A filename] [-V] [file1 file2....] 校验档案: SAPCAR -d[v][f archive] [-V] [file1 file2....] 追加文件到档案: SAPCAR -a[v][f archive] file1 [file2....] 合并两个档案: SAPCAR -m[v]f "source target" 检查要被处理文件的有效性: SAPCAR -l [-A filename][-X filename] [file1 file2...] 其它选项: -a :追加文件到档案 -A FILE :获得文件 FILE 中含的名称 -backup :以备份模式运行:含 ACL 数据 (只在 Windows 平台上由 UNICODE SAPCar 支持) -C DIR :更改目录为 DIR -e :把输出从 stdout 重定向到文件 sapcar_output -f FILE :使用档案文件 FILE(默认为 DEFAULT.SAR) -flat :提取文件时不保留文件路径 -g :提取、测试或列出档案时忽略档案名称的大小写 -h :提取时不修改已有目录的许可 -i :创建档案时忽略不可访问的文件 -l :检查要被处理的文件的有效性 -lower :提取时转换文件名为小写 -m :合并两个档案 -n :打印统计信息 -p octalvalue :把档案中所有文件的许可设置为值 -P :使用绝对路径名(谨慎使用) -r :在创建档案时不解析符号性链接/快捷方式 -R dir :使用 dir 代替当前目录 -s :做自由空间检查 -T FILE :重命名含在 FILE 中的文件 -v :完全的列出被处理文件 -V :计算或验证校验和(废弃,总是设置,出于向后兼容能力列出) -X FILE :获得从 FILE 中排除的名称 示例: 用当前目录的所有文件创建档案,括点文件: SAPCAR -cvf MY.SAR . 用当前目录的所有文件创建档案,不括点文件: SAPCAR -cvf MY.SAR * 注意 SAPCAR 把 "*" 和 "?" 当作通配符字符。前者匹配所有字符串,而后者 只匹配任意单个字符。 用完整目录和目录权限创建档案: SAPCAR -cvf MY.SAR dir 用目录中所有文件创建档案,不括目录本身: SAPCAR -cvf MY.SAR dir/* 如果用 SAPCAR -xvf MY.SAR 提取时目录 dir 不存在,需要权限 755 来创建。 只用目录中的文件创建档案 SAPCAR -cvf MY.SAR -C dir . 或者更好的 (cd dir; SAPCAR -cvf ../MY.SAR .) 合并两个档案: SAPCAR -mvf "source-archive.sar target-archive.sar" 追加文件到档案: SAPCAR -avf archive.sar file1 file2 file3 提取/验证文件: 如果尝试从一个不满足 SAPCAR 第二版规范的文档中提取文件,SAPCAR 假设它是 旧格式的档案,并自动启动相应的提取例程。如果仍旧无法处理这个档案,它就会 停止执行。注意提取出旧档案只会在旧 CAR 应用所能处理的命名选项下工作。 使用绝对路径名: 如果用绝对路径名创建档案,文件会

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值