设为首页 收藏本站
查看: 412|回复: 0

[经验分享] 一个简单的tomcat部署方案

[复制链接]

尚未签到

发表于 2017-1-31 06:00:15 | 显示全部楼层 |阅读模式
需求如下:
要将widow下开发的web应用部署到linux的机器下

step1)在本地使用ant将项目打成war
ant脚本如下:
<project name="Build" default="war" basedir=".">

  <property name="project.name" value="baby"/>
  <property name="build.dir" location="build"/>
  <property name="src.dir" location="src"/>
  <property name="src.dir.java" location="${src.dir}/java"/>
  <property name="src.dir.config" location="${src.dir}/config"/>
  <property name="lib.dir" location="lib"/>
  <property name="lib.dir.run" location="${lib.dir}/run"/>
  <property name="dist.dir" location="dist"/>

  <property name="web.dir" location="htdocs"/>


  <path id="project.classpath">
  <fileset dir="${lib.dir}" includes="**/*.jar"/>

  <pathelement location="${build.dir}"/>


  </path>

  <target name="prepare">
   <mkdir dir="${build.dir}"/>
   <mkdir dir="${dist.dir}"/>
  </target>

  <target name="compile" depends="prepare">
   <javac srcdir="${src.dir.java}" destdir="${build.dir}">
    <classpath refid="project.classpath"/>
   </javac>
   <copy todir="${build.dir}">
    <fileset dir="${src.dir.config}"/>
   </copy>
  </target>



  <target name="xdoclet" depends="compile,springdoclet,hibernatedoclet" />

  <target name="hibernatedoclet">
   <taskdef name="hibernatedoclet" classpathref="project.classpath" classname="xdoclet.modules.hibernate.HibernateDocletTask" />
   <hibernatedoclet excludedTags="@version,@author,@todo,@see" destDir="${build.dir}" addedTags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}">
    <fileset dir="${src.dir.java}" includes="**/domain/*.java" />
    <hibernate version="2.0" />
   </hibernatedoclet>
  </target>



  <target name="springdoclet">
   <taskdef name="springdoclet" classpathref="project.classpath" classname="xdoclet.modules.spring.SpringDocletTask" />
   <springdoclet destDir="${build.dir}">
    <fileset dir="${src.dir.java}">
     <include name="**/service/impl/*.java" />

    </fileset>
    <springxml destinationFile="applicationContext-${project.name}-service.xml" />
   </springdoclet>

   <springdoclet destDir="${build.dir}">
    <fileset dir="${src.dir.java}">
     <include name="**/dao/**/*.java" />
    </fileset>
    <springxml destinationFile="applicationContext-${project.name}-dao.xml" />
   </springdoclet>

  </target>

  <target name="war" depends="xdoclet">
   <war destfile="${dist.dir}/baby.war"
    webxml="${web.dir}/WEB-INF/web.xml" >
    <classes dir="${build.dir}"/>
    <fileset dir="${web.dir}" excludes="WEB-INF/**/*"/>
    <lib dir="${lib.dir.run}"/>
   </war>
  </target>

  <target name="clean">
   <delete dir="${build.dir}"/>
   <delete dir="${dist.dir}"/>
  </target>

</project>

2)step2配置linux机器上的tomcat服务器
<Host appBase="/var/www/baby" name="baby.mofile.cn" debug="0" unpackWARs="true">
  <Context displayName="Welcome to Tomcat" docBase="/var/www/baby/baby" path="" reloadable="true" debug="0">
  </Context>
  </Host>
注意上面的是appBase是虚拟主机目录,name是虚拟主机域名,docBase是服务器根目录,unpackWARs=“true"将war解压

3)step3 拷贝文件
通过secureFX将baby.war拷到linux下的/var/www/baby

完成这面步骤,启动linux下的tomcat服务器,ok

总结:
不得不说这不是个成熟的方案,虽然可行。这种半自动的部署方式,没有完全利用ant的特性。抽象来说没有充分利用程序的能力将人从重复的劳动解脱出来。

完全可以利用ant本地打包再远程部署,一键搞定。或者直接在linux机器上写个shell脚本再调用linux机器上的ant脚本,将版本服务器中的文件checkout进行构建.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-335456-1-1.html 上篇帖子: Tomcat的class加载的优先顺序 下篇帖子: Tomcat 中的有状态线程池
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表