• Java Web 项目打包脚本


    可用于 (但不限于) Eclipse 项目。

    一次性生成:
    1. Java doc .zip 包;
    2. Java 源代码 .zip 包;
    3. Java 二进制文件 .jar 包;
    4. Java 源代码加二进制 .jar 包;
    5. 包含 Java 源代码的 .war 包。

    依赖:能在 PATH 中找到 jar 、javadoc 。

    因项目和个人习惯不同,脚本可能需要修改才能适应实际情况。
    ​1. [代码]某次打包的效果     

    [typhoon@TFW-CENT6-LT jweb.tfw.tfw_web_lpm]$ ll export.v0.2.5_2013-03-10_20-40.jre150
    总用量 984
    -rw-rw-r--. 1 typhoon typhoon   2378  3月 10 2013 export.bat
    -rw-rw-r--. 1 typhoon typhoon   2332  3月 10 2013 export.sh
    lrwxrwxrwx. 1 typhoon typhoon     50  3月 10 2013 tfw-web-lpm.aij.jar -> tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.aij.jar
    lrwxrwxrwx. 1 typhoon typhoon     50  3月 10 2013 tfw-web-lpm.aij.war -> tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.aij.war
    lrwxrwxrwx. 1 typhoon typhoon     50  3月 10 2013 tfw-web-lpm.doc.zip -> tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.doc.zip
    lrwxrwxrwx. 1 typhoon typhoon     52  3月 10 2013 tfw-web-lpm.pages.zip -> tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.pages.zip
    lrwxrwxrwx. 1 typhoon typhoon     50  3月 10 2013 tfw-web-lpm.raw.jar -> tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.raw.jar
    lrwxrwxrwx. 1 typhoon typhoon     50  3月 10 2013 tfw-web-lpm.src.zip -> tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.src.zip
    -rw-rw-r--. 1 typhoon typhoon 116702  3月 10 2013 tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.aij.jar
    -rw-rw-r--. 1 typhoon typhoon 524597  3月 10 2013 tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.aij.war
    -rw-rw-r--. 1 typhoon typhoon 113918  3月 10 2013 tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.doc.zip
    -rw-rw-r--. 1 typhoon typhoon  80119  3月 10 2013 tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.pages.zip
    -rw-rw-r--. 1 typhoon typhoon  72633  3月 10 2013 tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.raw.jar
    -rw-rw-r--. 1 typhoon typhoon  53374  3月 10 2013 tfw-web-lpm.v0.2.5_2013-03-10_20-40.jre150.src.zip
    [typhoon@TFW-CENT6-LT jweb.tfw.tfw_web_lpm]$
    2. [代码]export.sh   
    #Project define.
    #========================================
    export NAME=tfw-web-lpm
    export VERSION=v0.2.6_2013-10-13_14-20+7+.jre150
    export WAR_NAME=tfw-web-lpm
    export LANG=en
     
    #Variable define.
    #========================================
    export PROJ=$(pwd)
    export SRC=$PROJ/WEB-INF/src
    export JDOC=$PROJ/doc/java_doc
    export CLASSPATH=$CLASSPATH:$PROJ/WEB-INF/lib/tfw-base.aij.jar
    export CLASSPATH=$CLASSPATH:$PROJ/WEB-INF/lib/tfw-web-base.aij.jar
    export CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib/servlet-api.jar
    export BIN=$PROJ/WEB-INF/classes
    export PAGES=tfw/lpm
    export OUT=$PROJ/export.$VERSION
    export TMP=$OUT/tmp
     
    # Cleaning.
    #========================================
    rm -Rf $OUT
    mkdir -p $OUT
     
    # Generating java doc.
    #========================================
    rm -Rf $JDOC
    cd $SRC
    #javadoc -author -private -subpackages * -d $JDOC/$LANG
    javadoc -private -subpackages * -d $JDOC/$LANG
    cd $OUT
     
    # Packing.
    #========================================
    cd $SRC
    jar Mcvf $OUT/$NAME.$VERSION.src.zip *
    cd $JDOC
    jar Mcvf $OUT/$NAME.$VERSION.doc.zip *
    cd $BIN
    jar Mcvf $OUT/$NAME.$VERSION.raw.jar *
    cd $PROJ
    jar Mcvf $OUT/$NAME.$VERSION.pages.zip $PAGES
    mkdir -p $TMP
    cd $TMP
    jar xvf $OUT/$NAME.$VERSION.raw.jar
    jar xvf $OUT/$NAME.$VERSION.src.zip
    jar Mcvf $OUT/$NAME.$VERSION.aij.jar tfw
    cd $OUT婚纱摄影
    rm -Rf $TMP
     
    #Linking for advanced packing.
    #========================================
    cd $OUThttp://www.huiyi8.com/hunsha/​
    ln -s $NAME.$VERSION.src.zip $NAME.src.zip
    ln -s $NAME.$VERSION.doc.zip $NAME.doc.zip
    ln -s $NAME.$VERSION.raw.jar $NAME.raw.jar
    ln -s $NAME.$VERSION.pages.zip $NAME.pages.zip
     
    #Advanced packing.
    #========================================
    mkdir -p $TMP/$PAGES
    cp -Rf $PROJ/export.sh $TMP/$WAR_NAME.$VERSION.export.sh
    cp -Rf $PROJ/export.bat $TMP/$WAR_NAME.$VERSION.export.bat
    cp -Rf $PROJ/$PAGES/* $TMP/$PAGES
     
    mkdir -p $TMP/WEB-INF/lib
    cp -Rf $OUT/$NAME*.aij.jar $TMP/WEB-INF/lib
    cp -Rf $PROJ/WEB-INF/lib/tfw-base.v*.jar $TMP/WEB-INF/lib
    cp -Rf $PROJ/WEB-INF/lib/tfw-web-base.v*.jar $TMP/WEB-INF/lib
     
    mkdir -p $TMP/WEB-INF/data/tfw
    cp -Rf $PROJ/WEB-INF/data/tfw/lpm $TMP/WEB-INF/data/tfw
     
    cd $TMP
    jar Mcvf $OUT/$WAR_NAME.$VERSION.aij.war *
    cd $OUT
    ln -s $WAR_NAME.$VERSION.aij.war $WAR_NAME.aij.war
    rm -Rf $TMP
    ln -s $NAME.$VERSION.aij.jar $NAME.aij.jar
     
    #Tailing.
    #========================================
    cd $PROJ
    cp export.sh $OUT
    cp export.bat $OUT

  • 相关阅读:
    Hadoop 回收站
    Sparkstreaming reduceByKeyAndWindow(_+_, _-_, Duration, Duration) 的源码/原理解析
    spark streaming updateStateByKey 用法
    spark streaming 直连 kafka 分区
    sparkStreaming 练习
    json demo
    spark与flume整合
    spark sql 入门
    【面试】c++单例模式
    Python高级笔记(十一)装饰器【面试】
  • 原文地址:https://www.cnblogs.com/xkzy/p/3916525.html
Copyright © 2020-2023  润新知