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
Java Web 项目打包脚本的更多相关文章
- idea创建的java web项目打包发布到tomcat
File-> Project Structure... 点击Artifacts->+号 点击Web Application:Archive->选择与你的项目对应的那一项Artifac ...
- java web 项目打包(war 包)并部署
1.在eclipse中右键单击项目,然后Export选择WAR file,生成项目的WAR文件.具体步骤请看图片详细操作步骤: 2.把生成的WAR文件放到tomcat解压之后的webapps文件夹下. ...
- Eclipse上进行java web项目的打包
以下是一个基于maven搭建的Spring Boot项目的目录结构 版权声明:本文为博主原创文章,未经博主允许不得转载. 原文地址: https://www.cnblogs.com/poterliu/ ...
- java web项目部署到云服务器
第一步把java web项目打包 成war包 第二步:在Build选里选择build Artfacts->water:war->Build war包建立完毕. 第三步:在官网下载winsc ...
- 使用IntelliJ IDEA和Maven构建Java web项目并打包部署
爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/6120375.html 一.背景 现在越来越多的人使用IntelliJ IDEA工具进 ...
- 关于Maven打包Java Web项目以及热部署插件Jrebel的使用
Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是ma ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- Linux(Centos)之安装tomcat并且部署Java Web项目
1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图: b ...
- Linux(Centos)之安装tomcat并且部署Java Web项目(转)
1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图: b ...
随机推荐
- CF768
Codeforces Round #406 (Div. 1) A.Berzerk 考虑先手必胜态,一定是先手移动到某一个位置以后,这个位置是后手的必败态 考虑先手必败态,一定是无论先手如何移动,先手所 ...
- mac 当前位置打开终端
做开发时经常会遇到在当前目录打开终端的情况,一直都是先启动终端,然后再切换到当前目录,今天发现了一个新的方法,虽然不是一步到位,但比以前快多了. 工具/原料 mac系统 苹果电脑 方法/步骤 ...
- 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告
2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...
- mysql delete auto_increment列时的注意问题
1. 说明 在对带有AUTO_INCREMENT列的表delete掉所有数据时: (1)对于MyISAM表,在delete表中所有数据时没有任何风险,随意折腾: (2)对于InnoDB表,在delet ...
- react 获取 input 的值
1.通过 onChange -- e.target.value class App extends Component { state = { username: '张三' }; // 用户名 get ...
- loarocks install loadcaffe 失败
loarocks install loadcaffe 失败 1.Error: Your user does not have write permissions in /home/zhangliang ...
- Mina、Netty、Twisted一起学(七):公布/订阅(Publish/Subscribe)
消息传递有非常多种方式.请求/响应(Request/Reply)是最经常使用的.在前面的博文的样例中.非常多都是採用请求/响应的方式.当server接收到消息后,会马上write回写一条消息到clie ...
- Android自己定义View的实现方法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了.回 ...
- 【环境配置】Linux的经常使用命令
系统信息 arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本号 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) ...
- 显示和隐藏Mac隐藏文件的命令
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏Mac隐藏文件的命令:defaults writ ...