`
hotjava
  • 浏览: 181245 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

简单记录以下打包部署过程

阅读更多
xml 代码
  1. 1.在业务层接口上增加ejb描述符   
  2. 如下:   
  3. /**   
  4.  * @ejb:bean   
  5.  *      ejb-name="CardBo"  
  6.  *      type="Stateless"  
  7.  *      service-package="oss.rms.inventory.instance.node.business"  
  8.  *      business-interface="ICardBo"  
  9.  *      helper-beans-id="cardBo"  
  10.  *   
  11.  * @weblogic:pool   
  12.  *      initial-beans-in-free-pool="5"  
  13.  *      max-beans-in-free-pool="1000"  
  14.  */   
  15.   
  16.   
  17. 其中:   
  18.     ejb-name是ejb的名字,有接口类的名字去掉“I”构成。   
  19.     type="Stateless"是建立无状态会话Bean。   
  20.     business-interface是业务接口的类名。   
  21.     helper-beans-id是接口在spring中注入的bean名。   
  22.   
  23. 2。用xdoclet生成ejb类:   
  24.  ant脚本中   
  25.     <target name="ejbdoclet" depends="clean-ejb,init">  
  26.         <pojoejbdoclet  
  27.                 destdir="${gen-src.dir}"  
  28.                 mergedir="{merge.dir}"  
  29.                 excludedtags="@version,@author,@todo,@file_name,@date,@reviewed_by,@description,@see"  
  30.                 addedtags="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}"  
  31.                 ejbspec="2.0"  
  32.                 force="${xdoclet.force}"  
  33.                 verbose="false"  
  34.                 >  
  35.   
  36.             <fileset dir="${src.home}">  
  37.                 <include name="**/business/*.java"/>  
  38.             </fileset>  
  39.   
  40.             <!--packageSubstitution packages="business.impl" substituteWith="service.ejb" /-->  
  41.   
  42.             <pojoremoteinterface/>  
  43.             <pojohomeinterface/>  
  44.             <pojosession/>  
  45.   
  46.             <pojodeploymentdescriptor  
  47.                     destdir="${meta-inf.dir}"  
  48.                     validatexml="true"  
  49.                     mergedir="${merge.dir}"  
  50.                     description=""  
  51.                     >  
  52.             </pojodeploymentdescriptor>  
  53.   
  54.             <pojoejbbeans  
  55.                     destdir="${ejbclient.dir}"  
  56.                     mergedir="${merge.dir}"  
  57.                     validatexml="true"  
  58.                     >  
  59.             </pojoejbbeans>  
  60.             <weblogic  
  61.                     version="7.0"  
  62.                     xmlencoding="UTF-8"  
  63.                     destdir="${meta-inf.dir}"  
  64.                     validatexml="false"  
  65.                     datasource="java:/trmsDataSource"  
  66.                     mergedir="${merge.dir}"  
  67.                     persistence="weblogic"  
  68.                     />  
  69.   
  70.         </pojoejbdoclet>  
  71.     </target>  
  72. 3。编译文件:   
  73.    ant脚本如下:   
  74.     <target name="compile" depends="ejbdoclet">  
  75.         <javac fork="yes" memoryinitialsize="128M" memorymaximumsize="512M"    
  76.            destdir="${classes.home}" debug="yes" includes="**/*.java" executable="javac" compiler="javac1.5">  
  77.             <compilerarg   line="-g:none   -nowarn -J-Duser.language=en"/>  
  78.             <src path="${src.home}"/>  
  79.             <src path="${gen-src.dir}"/>  
  80.             <classpath refid="all-libs"/>  
  81.         </javac>  
  82.         <copy todir="${classes.home}" >  
  83.             <fileset dir="${src.home}" includes="**/*.xml"/>  
  84.             <fileset dir="${src.home}" includes="**/*.properties"/>  
  85.             <fileset dir="${src.home}" includes="**/*.jpg"/>  
  86.             <fileset dir="${src.home}" includes="**/*.png"/>  
  87.             <fileset dir="${src.home}" includes="**/*.gif"/>  
  88.             <fileset dir="${conf.home}" includes="**/*.xml"/>  
  89.             <fileset dir="${conf.home}" includes="**/*.properties"/>  
  90.             <fileset dir="${gen-src.dir}" includes="**/*.xml"/>  
  91.             <fileset dir="${gen-src.dir}" includes="**/*.properties"/>  
  92.         </copy>  
  93.     </target>  
  94. 4。打包ejb的服务端和客户端:   
  95.     <!--服务端-->  
  96.     <target name="buildServer" depends="compile">  
  97.         <!-- build ejb jar -->  
  98.         <copy todir="${target.ejb}" includeEmptyDirs="false" preservelastmodified="yes">  
  99.             <fileset dir="${classes.home}">  
  100.                 <include name="log4j.properties"/>  
  101.                 <include name="META-INF/*.xml"/>  
  102.                 <include name="/**/*"/>  
  103.             </fileset>  
  104.         </copy>  
  105.   
  106.         <!--打ejb服务端的包-->  
  107.         <jar destfile="${deploy.home}/${ejb.file}" basedir="${target.ejb}" >  
  108.             <manifest>  
  109.                 <attribute name="Class-Path" value="./"/>  
  110.             </manifest>  
  111.         </jar>  
  112.   
  113.     </target>  
  114.        
  115.   
  116.     <!--客户端-->  
  117.     <target name="buildClient" depends="buildServer">  
  118.         <copy todir="${target.ejb}" includeEmptyDirs="false" preservelastmodified="yes">  
  119.             <fileset dir="${classes.home}">  
  120.                 <!--为了生成stub文件,把客户端加上ejb描述文件-->  
  121.                 <include name="META-INF/*.xml"/>  
  122.                 <include name="/**/*"/>  
  123.             </fileset>  
  124.         </copy>  
  125.         <jar destfile="${deploy.home}/${ejbclient.file}" basedir="${target.ejb}" update="true">  
  126.             <manifest>  
  127.                 <attribute name="Class-Path" value="./"/>  
  128.             </manifest>  
  129.         </jar>  
  130.     </target>  
  131.   
  132. 4。生成客户端的stub文件:   
  133.        
  134.     <target name="appc" >  
  135.         <echo message="compiling using appc..."/>  
  136.         <java classname="weblogic.appc" fork="yes"  >  
  137.             <arg line="  -keepgenerated -lineNumbers -g -verbose  ${deploy.home}/trmsEJBClient.jar "  />  
  138.             <!--all-libs-->            
  139.             <classpath refid="all-libs"/>  
  140.             <jvmarg value="-Xmx512M"/>  
  141.         </java>  
  142.     </target>  
  143.   
  144.     //注意这里java命令和javac命令开堆栈的方式不一样。   
  145. 5。把服务端部署到weblogic上,如果是jdk1.5的程序往jdk1.4上部署,需要把代码编译成jdk1.4版本。可以使用Retrotranslator-1.2.2-bin。   
  146. 执行命令:java -Xms256m -Xmx512m -jar retrotranslator-transformer-1.2.2.jar -srcjar D:\build\build\deploy\trmsEJB.jar -destjar D:\build\build\deploy1.4\trmsEJB1.4.jar    
  147. (注意如果需要验证,加-verify参数,就要把程序所需要的lib包引入,可以写成bat或sh脚本)。   
  148.   
  149. 6。客户端的程序签名并部署为webStart:   
  150.     lib包可以用FatJar打成一个jar包文件签名,这样轻松不少。webLogic.jar因为太大,单独打一个jar包,要不然容易内存溢出。   
  151.     注意在生成签名秘钥的时候加上过期的时间,要不然默认会在6个月内过期。keytool -genkey -alias keystore -Validity xxx   
分享到:
评论

相关推荐

    Angular项目从新建、打包到nginx部署全过程记录

    在本文中,我们将深入探讨如何使用Angular框架创建一个新的项目,并将其打包部署到Nginx服务器。Angular是一个流行的前端JavaScript框架,它提供了强大的功能来构建现代Web应用程序。在讲解过程中,我们将按照新建...

    自动部署步骤-简易.

    以下是一个简易的自动部署步骤的详细解释: 1. **登录服务器**: 首先,你需要通过工具如PuTTY(在本例中)远程登录到你的服务器。在 PuTTY 中输入IP地址`10.10.225.170`,并使用用户名`root`和密码`testpassword`来...

    最简单的程序打包.rar

    在打包过程中,需要注意以下几点: - **文件结构**:合理的文件结构能帮助用户更好地理解程序的组织方式,同时也有利于程序的维护。例如,通常会将配置文件、日志文件、资源文件分别放在各自的目录下。 - **依赖...

    C++软件打包工具

    总之,MoleBox Pro为C++开发者提供了一个高效且方便的打包解决方案,使得复杂的软件部署工作变得简单。通过合理的使用和配置,开发者可以快速地将C++应用转化为用户友好的安装包,从而提高软件的分发效率和用户体验...

    点击bat自动部署本地jar包到服务器并启动(含源码python)

    - **日志记录**:记录部署过程的详细步骤和结果,便于后期排查问题。 - **测试与验证**:在实际部署前,要在测试环境中多次验证自动化脚本的正确性。 总的来说,这个自动化部署方案旨在提高工作效率,减少手动部署...

    ClickOnce打包关于引用CefSharp程序的解决方案

    8. **调试与日志**:在打包和部署过程中,如果遇到问题,启用CefSharp的日志记录功能可以帮助诊断。确保日志文件能被正确收集和分析。 9. **示例代码和文档**:提供的Demo实例代码和解决方案文档将帮助开发者理解...

    基于gulp打包的vue单页

    在"基于gulp打包的vue单页"项目中,我们可以推测项目包含以下关键知识点: 1. **Vue.js**: Vue的核心特性包括声明式渲染、组件化、响应式数据绑定和指令系统。Vue的单文件组件(Single File Components, SFCs)允许...

    unity一键打包多个平台

    6. **日志记录**:记录打包过程中的信息,便于问题排查。 在Unity的C#脚本中,可以利用`UnityEditor`命名空间下的类和方法来实现上述功能。例如,`AssetDatabase`类用于管理资源,`EditorUserBuildSettings`类用于...

    installanywhere2009打包项目简单步骤

    本文档将详细介绍如何使用InstallAnywhere 2009来进行Web项目的打包过程。本教程适用于基本的Web项目打包需求,对于更复杂的打包场景,可以参考后续更详细的文档或联系专业人士获取帮助。 #### 二、准备工作 1. **...

    能打包数据库文件的类

    这类类通常用于自动化处理数据库文件的打包过程,以便于分发、部署或者备份。这样的类可能包含了对数据库连接、读取、写入以及压缩和解压缩文件的方法。 描述中提到的“只要修改类的命名空间就可以了!”意味着这个...

    开发程序安装打包工具

    总的来说,开发程序安装打包工具是软件开发过程中的重要环节,它能够确保程序以最简单、最稳定的方式分发给用户。通过选择合适的打包工具,并按照正确的步骤进行操作,开发者可以创建出高效、用户友好的安装体验。

    VB2008程序打包

    【VB2008程序打包】教程主要针对的是初次使用VB.Net进行软件开发的...同时,适当的文档记录有助于回顾学习过程,也有助于分享给其他初学者。这个教程是作者个人经验的分享,旨在引导新手快速掌握VB.Net程序的打包方法。

    网站上传下载打包解包工具

    网站上传下载打包解包工具是建站过程中必不可少的辅助软件,尤其对于个人建站者而言,这类工具极大地简化了网站的管理和迁移工作。在本文中,我们将深入探讨这些工具的功能、工作原理以及如何使用。 首先,网站打包...

    svn+maven+shell自动发布代码

    在自动部署过程中,Shell脚本通常用来串联各个步骤,例如从SVN仓库检出代码,执行Maven构建,然后将结果部署到目标服务器。 以下是一个简单的自动部署流程: 1. **代码变更检测**:设置SVN钩子(hook)监听代码库的...

    程式設計者就需要VB封裝與部署精靈 教學

    教程可能还会涵盖错误处理和日志记录,这对于调试和优化部署过程至关重要。此外,对于VB应用程序,可能还需要处理注册表项、文件关联和自定义设置的保存。 文件名"程式設計者就需要VB封裝與部署精靈.doc"很可能包含...

    这是一个用于自动打包的Python脚本,可以直接打包ipa并生成对应的plist,然后使用企业.zip

    4. **命令行接口**:为了方便使用,该脚本可能提供了命令行接口,允许开发者通过简单的命令行参数来定制打包过程,如设置应用ID、证书、provisioning profile等。 5. **自动化流程**:整个打包过程被封装为一个自动...

    怎么将java的类文件打包成jar文件

    通过以上介绍,我们可以看到将 Java 类文件打包成 JAR 文件是一个相对简单的过程。了解并掌握 JAR 文件和 Manifest 文件的概念及其作用,可以帮助开发者更好地管理和部署 Java 应用程序。无论是手动使用 `jar` 命令...

    Node.js-roid是一个极其简单的打包软件使用node.js开发而成

    Node.js-roid是一个基于Node.js平台构建的简单打包工具,旨在为开发者提供便捷的应用程序打包服务。Node.js是JavaScript运行环境,利用Chrome V8引擎执行JavaScript代码,使其在服务器端拥有强大的性能表现。而roid...

    精选_基于Jsp和MySQL实现的简单选课系统_源码打包

    【标题】"精选_基于Jsp和MySQL实现的简单选课系统_源码打包" 描述了一个使用Java Web技术,具体是JSP(JavaServer Pages)和MySQL数据库开发的简易选课系统。这个系统旨在帮助学校或教育机构管理学生的课程选择过程...

    java生成exe打包工具exe4j

    exe4j是IntelliJ IDEA公司开发的产品,广泛应用于Java开发者之中,简化了Java应用在Windows平台上的部署过程。 使用exe4j,你可以实现以下功能: 1. **创建独立的可执行文件**:exe4j可以将Java应用、JRE(Java...

Global site tag (gtag.js) - Google Analytics