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 ...
随机推荐
- 文件夹浏览(SHBrowseForFolder)
from http://www.cnblogs.com/Clingingboy/archive/2011/04/16/2018284.html 一.首先要为SHBrowseForFolder准备一个结 ...
- DAO 层实现
一.实验介绍 1.1 实验内容 本节课程主要利用 MyBatis 框架实现 DAO 层. 1.2 实验知识点 MyBatis 框架 MySQL 1.3 实验环境 JDK1.8 Eclipse Java ...
- log4net报错Could not load type 'System.Security.Claims.ClaimsIdentity'
使用log4net,在win7上可以正常使用,但是在部分xp电脑上可以生成access数据库,但是无法写数据到mdb 排除了程序原因,怀疑是xp缺少什么dll之类的 偶然查到log4net的调试方法: ...
- 关于JavaScript禁止点击事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- weblogic的几点配置
2.在tomcat下写过滤器以后还有的地方需要手工转码<-->weglobic下也不用 eg:SubjectAction.java3.weblogic下anltr.jar有冲突,需要从外界 ...
- vue2.0 自定义 弹窗(MessageBox)组件
组件模板 src/components/MessageBox/index.vue <!-- 自定义 MessageBox 组件 --> <template> <div c ...
- 向odoo贡献中文翻译
建议通过 osc-git向odoo贡献中文翻译 osc-git 是指'开源中国'的git平台. 网址是 http://git.oschina.net/ 注册osc-git 账号省略. ...
- RSA、AES加密解密
RSA #!/usr/bin/env python # -*- coding:utf-8 -*- import rsa import base64 # ######### 1. 生成公钥私钥 #### ...
- MySQL 压缩解决方案
From:https://www.qcloud.com/community/article/876100 导语 描述 MySQL 压缩的使用场景和解决方案,包括压缩传输协议.压缩列解决方案和压缩表解决 ...
- 使用Nightwatch.js做基于浏览器的web应用自动测试
1 安装 1.1 安装Node.js 在http://nodejs.org/ 上下载适合本机系统的安装包运行安装,注意安装选项中选择npm tool以用于后续依赖包的安装. 1.2 ...