mvn+svn+linux打包

 

背景:基于assemblysvn安装参考上篇

准备

apache-maven-2.2.1-bin.zip(可从附件中下载)

 

1、安装svn

参照上篇

 

2、解压mvn

 

Unzip apache-maven-2.2.1-bin.zip /usr/maven

 

3、打包shell

 

#!/bin/bash

cd /usr/package/build002000

 

svn co --username XXX --password XXX https://192.168.1.165/svn/********

 

M2_HOME=/usr/maven/

export M2_HOME

 

PATH="$PATH":/usr/svn/bin:/usr/maven/bin

export PATH

 

cd XXX

bash -x mvn clean package -Dmaven.test.skip=true

mv  target/*.war  ../

mv  DB  ../DB

cd ..

rm -rf XXX

md5sum *.war>>XXX.md5

cd ..

tar czvf XXXX_build002000_20110712.tar.gz build002000

 

遇到问题

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher

 

解决一(来源网上)

A search on the internet suggested other people had a similar problem which may or may not be solved by setting M2_HOME and/or JAVA_HOME correctly. For me, this didn't help. I worked out the problem by editing /usr/share/bin/mvn and seeing the command it was trying to run:

 

 exec "$JAVACMD" \

  $MAVEN_OPTS \

  -classpath "${M2_HOME}"/boot/classworlds*.jar \

  "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \

  "-Dmaven.home=${M2_HOME}"  \

  ${CLASSWORLDS_LAUNCHER} $QUOTED_ARGS

 

From this I learned, that it was looking in /usr/share/maven/boot for a jar but this folder was empty on my system. Next, I used "locate classworlds.jar" to find out if this file existed and sure enough it did. In the end the solution was this:

 

su - root

cd /usr/share/maven2/boot

ln -s /usr/share/java/classworlds.jar

 

 

解决二

shell中指定M2_HOME

 

M2_HOME=/usr/maven/

export M2_HOME

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值