- 浏览: 731624 次
- 性别:
- 来自: 嘉兴
文章分类
- 全部博客 (386)
- Struts1.1 (2)
- Database (18)
- Core Java (15)
- Log4j (4)
- SSH (0)
- Dao (1)
- Architecture Design (1)
- References (2)
- Eclipse&MyEclipse (10)
- Hibernate (7)
- Spring (8)
- JavaMail (1)
- Data Structure And Algorithm (48)
- Struts 2 (2)
- SSI (1)
- SSL (2)
- JSTL (1)
- EJB3 (2)
- NET (2)
- XML (2)
- Components (2)
- Ant (3)
- Multi Thread (1)
- Performance Monitoring (1)
- Web Server (17)
- Oracle (1)
- jQuery (8)
- Regular Expression (1)
- Weblogic (1)
- Exception (1)
- Security (2)
- File Manipulation (1)
- JavaScript (12)
- JVM (2)
- HTML&DIV&CSS (4)
- Android (10)
- Beyond GFW (0)
- Business (0)
- SVN (6)
- 虚拟主机 (1)
- Virtual Host (3)
- My mentality (5)
- OS (15)
- ISPMP (3)
- Magento (5)
- Jsoup&HttpClient (7)
- LINUX (9)
- Database Design (0)
- Power Designer (1)
- TaobaoOpenPlatform (2)
- C/C++ (3)
- Maven (11)
- Quartz (1)
- Load Balance (1)
- Zabbix (4)
- Product&Business (1)
- Pay Interface (1)
- Tomcat (2)
- Redis (1)
- 集群 (1)
- Session (1)
- 共享Session (1)
- Jedis (1)
- jenkins (1)
- 持续集成 (1)
- Web前端 (1)
最新评论
-
aqq331325797:
特意注册账号上来说一句。牛逼!
swagger2.2.2 与 spring cloud feign冲突 -
KitGavinx:
跨顶级域名怎么保持sessionid一致?
Tomcat7集群共享Session 基于redis进行统一管理 -
jaychang:
dujianqiao 写道HI ,能否给一个完整的demo 啊 ...
淘宝订单同步方案 - 丢单终结者 -
GGGGeek:
找了一会儿,感觉mybatis应该没有这种操作,直到发现博主的 ...
mybatis collection list string -
dujianqiao:
HI ,能否给一个完整的demo 啊 ?
淘宝订单同步方案 - 丢单终结者
转自:http://edocs.weblogicfans.net/wls/docs92/programming/splitcreate.html#wp1102496
创建拆分开发目录环境
以下部分描述创建 WebLogic Server 拆分开发目录(可用于开发
J2EE 应用程序或模块)的步骤:
拆分
开发目录环境概述
WebLogic 拆分开发目录环境由目录布局和一些关联的 Ant 任务组成,这些任务有助于重复生成、更改和部署 J2EE
应用程序。与其他开发框架相比,WebLogic 拆分开发目录具有以下优点:
源目录和生成目录
源目录和生成目录构成了拆分开发目录环境的基础。源目录包含项目的所有可编辑文件 - Java 源文件、可编辑描述符文件、JSP
和静态内容等。在创建应用程序的源目录时,请遵从在
拆分开发目录中组织 J2EE 组件
中描述的目录结构准则。
源目录的顶级目录始终表示企业应用程序(.ear
文件),即使只开发单个 J2EE
模块时也是如此。顶级源目录之下的子目录包含:
在针对有效源目录运行 wlcompile
Ant 任务时,将自动生成生成目录内容。wlcompile
任务会识别源目录中的 EJB、Web
应用程序、共享库和类目录,然后按照支持常用类路径要求的顺序生成这些组件。其他 Ant 任务可用于生成 Web Service 或从批注的 EJB
代码生成部署描述符文件。
生成目录仅包含在生成过程中生成的文件。源目录和生成目录中的文件组合在一起便形成了可部署的 J2EE 应用程序。
生成目录和源目录内容可根据需要放置在任何目录中。但是,为便于使用,通常将这些目录置于单个项目目录内名为 source
和 build
的目录中(例如 \myproject\build
和 \myproject\source
)。
从
拆分开发目录进行部署
所有 WebLogic Server 部署工具(weblogic.Deployer
、wldeploy
和管理控制台)都支持直接从拆分开发目录进行部署。在将应用程序部署到
WebLogic Server 中时,只需指定生成目录即可。
WebLogic Server 会尝试使用
源目录中的所有可用类和资源来部署应用程序。如果源
目录中没有所需的资源,WebLogic Server
将在应用程序的生成目录中查找该资源。例如,如果部署描述符是在生成过程中生成的,而不是作为可编辑文件与源代码存储在一起,则 WebLogic
Server 将从生成目录中获取该生成的文件。
WebLogic Server 通过检查驻留在应用程序生成目录的顶级目录中的 .beabuild.txt
文件来发现源目录的位置。如果源目录位置已经过移动或修改,则应编辑 .beabuild.txt
文件以标识新的源目录名。
从
拆分开发目录进行部署和打包
描述可用于自动从拆分开发环境进行部署的 wldeploy
Ant 任务。
图 3-2
显示了典型的部署过程。该过程首先使用 WebLogic Server
工具指定生成目录。如图所示,在生成目录中可发现所有已编译的类和已生成的部署描述符,但缺少其他应用程序资源(例如静态文件和可编辑的部署描述符)。
WebLogic Server 使用隐藏的 .beabuild.txt
文件来定位应用程序的源目录,并从中查找所需的资源。
拆分开发目录 Ant
任务
BEA 提供了一个由 Ant 任务构成的集合,设计这些任务是为了帮助用户使用拆分开发目录环境开发应用程序。每个 Ant
任务都使用源目录和/或生成目录来执行常用的开发任务:
-
wlcompile
编译 Java 类,此外,它还将批注的.ejb
文件处理成部署描述符,如使 用 wlcompile 编译应用程序 中所述。 -
-
-
使用拆分开发目录结构:主要步骤
以下步骤说明如何使用拆分开发目录结构来生成和部署 WebLogic Server 应用程序。
-
-
-
-
WL_HOME
\server\bin\
目录中,其中WL_HOME
是安装 WebLogic Server 的顶级目录。 -
weblogic.BuildXMLGen
实用工具生成项目要使用的默认build.xml
文件。根据环境的需要编辑默认属性值。请参阅使 用 weblogic.BuildXMLGen 生成基本 build.xml 文件 。 -
build.xml
文件中的默认目标生成、部署和打包应用程序。有关默认目标的列表,请参阅使 用 weblogic.BuildXMLGen 生成基本 build.xml 文件 。
在拆分开发目录中组织 J2EE 组件
拆分开发目录结构要求将每个项目都暂存为 J2EE 企业应用程序。因此,BEA 建议将独立 Web 应用程序和 EJB
也暂存为企业应用程序的模块,以便利用拆分目录 Ant 任务所提供的便利。通过此实践,还可以在日后方便地添加或删除模块,因为已将应用程序组织为
EAR。
注意: | 如果项目需要多个 EAR,则另请参阅使 用拆分开发目录开发多 EAR 项目 。 |
以下部分描述在拆分开发目录结构中暂存下列模块类型时使用的基本约定:
目录示例选自 splitdir
示例应用程序,该程序安装在 WL_HOME
\samples\server\examples\src\examples\splitdir
中,其中 WL_HOME
是 WebLogic
Server 安装目录。
源目录概述
下图概括了包含 Web
应用程序、EJB、共享实用工具类和第三方库的企业应用程序的源目录内容。以下部分则更为详细地介绍了企业源目录中各个部分的组织方式。
企业应用程序配置
拆分开发目录项目的顶级源目录表示企业应用程序。下图显示了该目录中至少需要的文件和目录。
企业应用程序目录下还包含一个或多个子目录,用于保存 Web 应用程序、EJB、实用工具类和/或第三方 Jar 文件,如以下部分所述。
Web 应用程序
-
helloWebApp\
- Web 应用程序模块的顶级目录可以包含 JSP 文件和静态内容,例如应用程序中使用的 HTML 文件和图形。此外,还可以在 Web 应用程序的任何命名子目录中存储静态文件(例如helloWebApp\graphics
或helloWebApp\static
)。 -
helloWebApp\WEB-INF\
- 在WEB-INF
子目录中存储 Web 应用程序的可编辑部署描述符文件(web.xml
和weblogic.xml
)。 -
helloWebApp\WEB-INF\src
- 在WEB-INF\src
下的包子目录中存储 Servlet 的 Java 源文件。
在生成 Web 应用程序时,appc
Ant 任务和 jspc
编译器会将 JSP 编译到生成目录中 helloWebApp\WEB-INF\classes\jsp_servlet
下的包子目录中。在生成过程中不复制可编辑的部署描述符。
EJ
B
-
helloEJB\
- 在EJB 模块目录的包目录下存储所有 EJB 源文件。源文件可以是.java
源文件,也可以是批注的.ejb
文件。 -
helloEJB\META-INF\
- 在 EJB 模块目录的META-INF
子目录中存储可编辑的 EJB 部署描述符(ejb-jar.xml 和 weblogic-ejb-jar.xml)。helloWorldEar
示例不包含helloEJB\META-INF
子目录,因为它的部署描述符文件是从.ejb
源文件中的批注生成的。请参阅关 于 EJB 描述符的重要说明 。
在生成过程中,EJB 类将编译到生成目录中 helloEJB
模块的包子目录中。如果使用了已批注的 .ejb
源文件,则生成过程还会生成 EJB
部署描述符并将它们存储在生成目录的 helloEJB\META-INF
子目录中。
关于 EJB 描述符的重要说明
仅当 EJB 部署描述符是从头创建或手工编辑时,才应将这些描述符文件包含在源 META-INF
目录中并将其视为源代码。而从已批注的 .ejb
文件生成的描述符文件只能出现在生成目录中,用户可以删除它们,并可通过生成应用程序来重新生成它们。
对于给定的 EJB 组件,EJB 源目录包含的内容应符合以下要求之一:
换句话说,对于同一个 EJB 组件,请勿同时提供已批注的 .ejb
源文件和可编辑的描述符文件。
在拆分开发目录中组织共享类
WebLogic 拆分开发目录还有助于存储企业应用程序模块所需的共享实用工具类和库。以下部分描述共享实用工具类和第三方 JAR
文件的目录布局和类加载行为。
共享实用工具类
企业应用程序经常使用应用程序模块之间共享的 Java 实用工具类。与第三方 JAR 不同的是,Java
实用工具类的源文件是应用程序的一部分,必须进行编译。Java 实用工具类通常是应用程序模块(例如 EJB 或 Web 应用程序)使用的库。
应将 Java 实用工具类的源文件置于顶级企业程序目录的命名子目录中。在该命名子目录之下,应使用标准包子目录约定。
在生成过程中,wlcompile Ant 任务会调用 javac 编译器并将 Java 类编译到生成目录下的 APP-INF/classes/
目录中。这样可确保已部署应用程序中的其他模块也可以使用这些类。
第三方库
可以将企业应用程序扩展为使用第三方 .jar 文件,方法是将这些文件置于 APP-INF\lib\ 目录中,如下所示:
通常不编译第三方 JAR,但可以使用应用程序代码的源控制系统对它们进行版本控制。例如,XML 解析器、日志记录实现和 Web 应用程序框架
JAR 文件通常用于应用程序中,并与可编辑的源代码一起得到维护。
在生成过程中,第三方 JAR 文件不会复制到生成目录中,而是保留在用于部署的源目录中。
共享类的类加载
APP-INF/classes
和 APP-INF/lib
下存储的类和库可用于企业应用程序中的所有模块。应用程序类加载器始终会先后在 APP-INF/classes
和 APP-INF/lib
中查找,以此来尝试解析类请求。
使用 weblogic.BuildXMLGen 生成基本 build.xml 文件
在设置源目录结构后,应使用 weblogic.BuildXMLGen 实用工具创建基本 build.xml
文件。weblogic.BuildXMLGen 是一个便利的实用工具,它可以为拆分开发目录结构中的企业应用程序生成 Ant build.xml
文件。该实用工具会分析源目录并创建企业应用程序以及各个模块的生成和部署目标。它还会创建目标来清除生成并生成新的部署描述符。
java weblogic.BuildXMLGen [options] <source directory>
-
-
-
-
-
-
-librarydir <directories>
- 在逗号分隔的目录列表中创建共享 J2EE 库的生成目标。请参阅创 建共享 J2EE 库和可选包 。 -
-
在运行 weblogic.BuildXMLGen 后,应编辑生成的 build.xml
文件,以指定开发环境的属性。以下清单显示了需要编辑的属性列表。
<!-- BUILD PROPERTIES ADJUST THESE FOR YOUR ENVIRONMENT --> <property name="tmp.dir" value="/tmp" /> <property name="dist.dir" value="${tmp.dir}/dist"/> <property name="app.name" value="helloWorldEar" /> <property name="ear" value="${dist.dir}/${app.name}.ear"/> <property name="ear.exploded" value="${dist.dir}/${app.name}_exploded"/> <property name="verbose" value="true" /> <property name="user" value="USERNAME" /> <property name="password" value="PASSWORD" /> <property name="servername" value="myserver" /> <property name="adminurl" value="iiop://localhost:7001" />
需特别指出,应确保编辑 tmp.dir
属性以使其指向要使用的生成目录。默认情况下,build.xml
文件会将项目生成到在应用程序之后命名的子目录 tmp.dir
中(以上清单中为 /tmp/helloWorldEar
)。
以下清单显示在 build.xml
文件中创建的默认主目标。可以在命令提示符处查看这些目标,方法是在 EAR 源目录中输入 ant
-projecthelp
命令。
appc Runs weblogic.appc on your application build Compiles helloWorldEar application and runs appc clean Deletes the build and distribution directories compile Only compiles helloWorldEar application, no appc compile.appStartup Compiles just the appStartup module of the application compile.appUtils Compiles just the appUtils module of the application compile.build.orig Compiles just the build.orig module of the application compile.helloEJB Compiles just the helloEJB module of the application compile.helloWebApp Compiles just the helloWebApp module of the application compile.javadoc Compiles just the javadoc module of the application deploy Deploys (and redeploys) the entire helloWorldEar application descriptors Generates application and module descriptors ear Package a standard J2EE EAR for distribution ear.exploded Package a standard exploded J2EE EAR redeploy.appStartup Redeploys just the appStartup module of the application redeploy.appUtils Redeploys just the appUtils module of the application redeploy.build.orig Redeploys just the build.orig module of the application redeploy.helloEJB Redeploys just the helloEJB module of the application redeploy.helloWebApp Redeploys just the helloWebApp module of application redeploy.javadoc Redeploys just the javadoc module of the application undeploy Undeploys the entire helloWorldEar application
使用拆分开发目录开发多 EAR 项目
前面描述的拆分开发目录示例和过程涉及的是包含单个企业应用程序的项目。对于需要同时生成多个企业应用程序的项目,所需的约定和过程略有不同,如以下部分
所述。
注意: | 以下部分引用 MedRec 示例应用程序,它包含三个单独的企业应用程序以及共享实用工具类、第三方 JAR
文件和专用客户端应用程序。MedRec 源目录和生成目录安装在 WL_HOME
/samples/server/medrec
下,其中 WL_HOME
是 WebLogic Server 安装目录。 |
组织由多个 EAR 共享的库和类
对于单个 EAR 项目,拆分开发目录约定建议将第三方 JAR 文件保留在 EAR 源目录的 APP-INF/lib
目录中。但是,多 EAR 项目需要在
每个 EAR 源目录的 APP-INF/lib
目录中都维护同一第三方 JAR 文件的副本。这样便引入了源 JAR
文件的多个副本,从而增加了部分 JAR 文件使用不同版本的可能性,同时也需要在源控制系统中提供额外的空间。
要解决这些问题,请考虑编辑生成脚本,以便为需要库的每个 EAR 都将第三方 JAR 文件复制到其
生
成目录的 APP-INF/lib
目录中。这样只用在源控制系统中维护 JAR
文件的单个副本和版本,但可以让项目中的每个 EAR 都能使用该 JAR 文件。
随 WebLogic Server 安装的 MedRec 示例应用程序便使用此策略,如下图所示。
MedRec 对项目中由多个 EAR 所共享的实用工具类采用了类似的方式。MedRec 不是将实用工具类的源文件包含在需要它们的每个 EAR
的作用域内,而是使实用工具类源文件独立于所有 EAR。在编译实用工具类后,生成脚本会将它们归档并将 JAR 复制到使用这些类的每个 EAR 的 APP-INF/LIB
子目录(位于生成目录下)中,如图 3-9
所示。
链接多个 build.xml 文件
在使用拆分开发目录开发多个 EAR 时,每个 EAR 项目通常都使用其自己的 build.xml
文件(可能由多次运行 weblogic.BuildXMLGen
生成)。类似
MedRec 的应用程序还使用主 build.xml
文件来调用应用程序套件中每个 EAR
的从属 build.xml
文件。
Ant 提供的核心任务(名为 ant
)允许执行主 build.xml
文件中的其他项目生成文件。下行内容摘自 MedRec 主生成文件,它显示了该任务的用法:
<ant inheritAll="false" dir="${root}/startupEar" antfile="build.xml"/>
以上任务指示 Ant 执行 /startupEar
子目录中名为 build.xml
的文件。inheritAll
参数指示 Ant 仅将主生成文件中的用户属性传递到 /startupEar
中的 build.xml
文件。
MedRec 使用类似于上述任务的多个任务来生成 startupEar
、medrecEar
和 physicianEar
应用程序以及常用的实用工具类和客户端应用程序。
开发
WebLogic Server 应用程序的最佳实践
-
-
-
-
-
-
weblogic.jar
文件和其他 JAR 文件。在开发计算机上安装 WebLogic Server 以使 WebLogic 分发文件在本地可用。
相关推荐
这篇文档是关于一个名为"splitScan"的C++类的开发说明,该类主要用于线扫图像的拆分。线扫图像通常是由传感器沿一条线连续扫描得到的,可能需要拆分成多个部分以便于后续处理,比如光度立体分析。这个类使用了OpenCV...
在Visual Studio(VS)开发环境中,对话框拆分是一个常见的需求,特别是在设计具有多个视图或面板的应用程序时。对话框拆分允许用户通过拖动一个分隔条来动态调整两个或多个区域的大小,从而提供更灵活的界面布局。...
【PHP三进三出股权拆分盘三盘分盘循环拆分系统源码】是一种基于PHP编程语言开发的金融投资管理软件,它主要用于股权拆分盘的管理与操作。在这个系统中,"三进三出"是一种特定的投资策略,意味着投资者在一定条件下...
2. **设置Splitter窗口布局**:在`OnCreate`或`OnInitDialog`中,使用`Create`或`CreateEx`成员函数创建拆分窗口。你需要指定拆分的方向(例如,水平或垂直)、初始列数和行数。 3. **添加子窗口**:在创建拆分窗口...
总结来说,"拆分plist,atlas,json"是一个针对游戏开发中图集资源处理的操作,涉及到Cocos2d-x、Egret和Spine等不同框架的图集文件格式。通过使用特定的工具,如`sliceAtlases.exe`,可以将打包的图集拆分成单个...
在Microsoft Foundation Classes (MFC)库中,"MFC拆分窗口"是一个常见的技术,用于在应用程序中创建可拆分的视图,使得用户能够同时查看和操作不同的数据区域。这个例子展示了如何在一个单文档界面(Single Document...
在"NDK开发之文件拆分合并"的主题中,我们将深入探讨如何在Android环境下利用NDK进行文件的拆分与合并操作。 首先,我们要理解NDK的基本概念。NDK提供了一系列的工具,包括编译器、链接器和调试工具,用于创建原生...
1. **创建拆分窗口类**:继承自CSplitterWnd,并重写可能需要的成员函数,如OnCreate(),用于初始化窗口。 2. **定义视图类**:至少需要两个视图类,一个用于显示列表信息,另一个可以根据需求自定义。这些视图类应...
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种图形化编程环境,主要用于开发数据采集、测试测量和控制系统。在LabVIEW中处理字符串是一项常见的任务,尤其是将一个字符串拆分成多个子字符...
在.NET开发环境中,C#是一种常用的编程语言,用于创建各种应用程序,包括处理Excel文件。在本项目中,我们将探讨如何使用C#来实现Excel文件的合并与拆分,这是一个常见的需求,特别是在数据处理和报告生成中。Visual...
在Unity引擎中,物体拆分是一项重要的技术,尤其在虚拟现实(VR)开发中,它可以帮助优化场景性能,降低多边形数量,提高渲染效率。本Demo源代码提供了一个具体的实例,展示了如何在Unity中实现物体拆分。下面将详细...
VC++是Microsoft公司推出的一种面向对象的C++编程环境,集成了编译器、调试器和集成开发环境(IDE),广泛用于Windows平台的应用程序开发。VC++支持MFC(Microsoft Foundation Classes),这是一个C++库,为创建...
标题中的“Excel数据合并拆分器.zip”表明这是一个包含了用于处理Excel文件的工具,这个工具是用Python编程语言开发的,并且使用了PyQt5库来构建Windows桌面应用程序。这个程序的主要功能是对Excel文档进行拆分和...
在Android开发中,文件的合并与拆分是常见的操作,特别是在处理资源文件或者进行个性化定制时,例如换肤功能的实现。本文将深入探讨如何在Android环境中有效地进行文件的合并与拆分,以及它们在实际应用中的作用。 ...
在这个场景中,`vc6.0`(Visual C++ 6.0)是一个经典的开发环境,它被用来编译实现这个功能的程序。`FileSplt`可能是该程序的名字或者用于文件拆分与合并的工具。 文件拆分是指将一个大文件分割成多个小文件的过程...
1. **加载Word文档**:使用Jacob的`ActiveXComponent`类创建一个与Word实例的连接,然后打开需要拆分的Word文档。 2. **获取目录信息**:通过Word的Document对象,我们可以访问到文档的内置大纲级别,这些级别对应...
在ASP.NET开发中,有时我们需要处理PDF文档,例如将一个大的PDF文件拆分成多个小的文件,以便于管理和分发。这个场景下,我们可以利用第三方控件来实现这一功能。本文将详细介绍如何在ASP.NET中实现PDF的上传与拆分...
在`OnCreate`或`PreCreateWindow`成员函数中,我们可以调用`CSplitterWnd`的`Create`函数来创建拆分窗口。 2. **添加视图** 拆分窗口需要至少两个视图。每个视图可以是任何继承自`CView`的类的实例。通过`...
PDF书籍拆分是一种常见的文档处理任务,特别是在学术研究、教育或文档...总之,PDF书籍拆分是一项实用的技能,无论是在个人还是专业环境中都有其价值。掌握不同的方法和技术,可以帮助我们更有效地管理和组织PDF文档。
4. **Python编程**:Python因其简洁的语法和丰富的库支持,常被用作快速开发小型工具的首选语言。在Excel表格拆分工具中,Python的灵活性和易读性使得代码虽然“不专业”,但仍然能够高效地完成任务。 5. **数据...