WAS命令:JSPBatchCompiler命令.docx_第1页
WAS命令:JSPBatchCompiler命令.docx_第2页
WAS命令:JSPBatchCompiler命令.docx_第3页
WAS命令:JSPBatchCompiler命令.docx_第4页
WAS命令:JSPBatchCompiler命令.docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WAS命令:JSPBatchCompiler 命令批处理编译器验证 JavaServer Pages 的语法、将 JSP 页转换成 Java 源文件,并且将 Java 源文件编译为 Java Servlet 类文件。批处理编译器也验证标记文件并生成它们的 Java 实现类。使用了该功能批量编译 JSP 文件,将能在产品 Web 服务器上更快响应客户机对 JSP 文件的初始请求。批处理编译器可以执行于压缩的或展开的企业归档(EAR)文件和 Web 应用程序归档(WAR)文件,以及已部署到 WebSphere Application Server 的企业应用程序和 Web 模块。如果目标是已部署的企业应用程序,那么执行批处理编译器时不需要运行服务器。如果执行批处理编译器时目标服务器在运行,那么需要重新启动企业应用程序,否则服务器就不知道更新的类文件,也不能装入该类文件。如果目标是压缩的 EAR 文件或 WAR 文件,那么批处理编译器必须先展开它,然后再执行。Web 模块的处理 批处理编译器一次在一个 Web 模块上运行。如果目标是 EAR 文件或已安装的包含多个 Web 模块的企业应用程序,批处理编译器在每个 Web 模块上单独运行。这是因为 JSP 页是通过 Web 模块的 web.xml 部署描述符文件在 Web 模块基础上配置的。在 Web 模块内,批处理编译器一次处理一个目录。它分别验证和转换每个 JSP 页,然后为该目录中生成的整个 Java 源文件组调用 Java 编译器。如果 Java 编译阶段中有一个 JSP 页编译失败,那么 Java 编译器不能为该目录中大多数(或全部)成功编译的 JSP 页创建类文件。JSP 文件扩展名 批处理编译器使用四项来确定它应该处理的文件扩展名: 1. 标准 JSP 文件扩展名 o *.jsp o *.jspx o *.jsw o *.jsv 2. Servlet 2.4 Web 模块中部署描述符文件的 sp-property-group 元素的 url-pattern 属性 3. jsp.file.extensions JSP 引擎配置参数(适用于在 Servlet 2.4 之前的 Web 模块) 4. 批处理编译器配置参数 jsp.file.extensions 批处理编译器始终使用标准扩展名。如果 Web 模块包含 Servlet 2.4 部署描述符,那么批处理编译器还处理 jsp-config 元素中找到的任何 url-pattern。如果批处理编译器目标包含 JSP 引擎配置参数 jsp.file.extensions,那么也处理那些扩展名。如果存在批处理编译器配置参数 jsp.file.extensions,也处理给定的扩展名并且将覆盖 JSP 引擎配置参数 jsp.file.extensions。最好给 JSP“片段”一个批处理编译器不处理的扩展名。如果批处理编译器处理它,那么静态包含的片段不单独生成转换或编译错误。JSP 2.0 规范建议您为这样的文件使用扩展名 .jspf。批处理编译器命令 用于从命令行运行批处理编译器的 Windows 批处理文件 JspBatchCompiler.bat 和 UNIX shell 脚本 JspBatchCompiler.sh 都可以在 WAS_ROOT/bin 目录中找到。也可以使用 Ant 任务执行使用 Ant 的批处理编译器。请参阅主题“批处理编译器 Ant 任务”,以了解其他信息。批处理编译器目标是唯一的必需参数。目标是 -ear.path、-war.path 或 - 中的一个。JspBatchCompiler -ear.path | -war.path | - -response.file - -filename -recurse -config.root - - - -profileName -extractToDir -compileToDir -compileToWebInf -translate -compile -removeTempDir -forceCompilation -useFullPackageNames -trackDependencies -createDebugClassfiles -keepgenerated -keepGeneratedclassfiles -usePageTagPool -useThreadTagPool -classloader.parentFirst -classloader.singleWarClassloader -additional.classpath -jspCompileClasspath -verbose -deprecation -javaEncoding -compileWithAssert -compilerOptions -useJikes -jsp.file.extensions -log.level * 请参阅 WAS_ROOT/bin 中的 perties.default,以获取更多信息。* * 请参阅 WAS_ROOT/bin 中的 JspCBuild.xml,以了解有关公用 WebSphere Ant 任务 JspC 的信息。*批处理编译器知道三组配置参数: 1. Web 模块的 JSP 引擎配置参数。 请参阅JSP 引擎配置参数 主题。2. 批处理编译器响应文件配置参数。 这些是在批处理编译器响应文件中找到的参数。请参阅下面的 -response.file。3. 批处理编译器命令行配置参数。 这些是运行批处理编译器时在命令行上输入的参数。批处理编译器查找配置参数的所有三个组以确定当编译 JSP 页时使用参数的哪个值。当解析给定参数的值时,优先顺序为: 1. 如果在命令行上找到参数,那么使用它的值。 2. 如果在命令行上未找到参数,那么批处理编译器在命令行上指定的响应文件中查找参数。 3. 如果没有指定响应文件,或者未在响应文件中找到参数,那么批处理编译器在 Web 模块的 JSP 引擎配置参数中查找参数。 如果未在这三个组中找到配置参数,那么使用缺省值。下面给出配置参数的缺省值和参数的描述。这些参数不区分大小写,但 -profileName 例外,它区分大小写。如果为这些参数指定的值由两个或多个以空格分隔的字组成,那么必须在值周围添加引号。批处理编译器不创建(或不设置)等价的 JSP 引擎参数的值。这意味着如果部署的 Web 模块中的 JSP 页由 JSP 引擎在运行时修改并重新编译,那么 JSP 引擎的配置参数将确定引擎的行为。例如,如果您使用批处理编译器编译 Web 模块并且使用 -useFullPackageNames true 选项,那么将编译 JSP 文件来支持该选项。但是还必须将 JSP 引擎参数 useFullPackageNames 设置为 true,以使 JSP 运行时能够装入已编译的 JSP 页。如果在已部署的 Web 模块中修改了 JSP 页,那么应当将引擎的参数设置为批处理编译中使用的值。要使用 JSP 批处理编译器,请在操作系统命令提示符的一行上输入下列其中一个命令。 ear.path | war.path | 表示单个压缩的或展开的企业应用程序归档(EAR)文件或 Web 应用程序归档(WAR)文件的完整路径,或表示要编译的已部署的企业应用程序的名称。例如: o JspBatchCompiler -ear.path c:myprojectsampleApp.ear o JspBatchCompiler -war.path c:myWarsexamples.war o JspBatchCompiler - myEnterpriseApp - my.war -filename aDir/main.jsp response.file 表示到包含批处理编译器使用的配置参数的文件的路径。仅当在命令行上指定 response.file 时才使用它;如果在响应文件中出现,那么忽略它。在缺省安装中,模板响应文件 perties.default 位于 WAS_ROOT/bin 目录中。复制此模板以创建您自已的响应文件,该响应文件包含您感兴趣的参数的缺省值。所有必需和可选参数(除 response.file 之外)都可能在响应文件中配置。例如:JspBatchCompiler -response.file c:ps缺省值:null 表示您要批量编译的特定 Web 模块的名称。如果没有设置此参数,那么将编译企业应用程序中的所有 Web 模块。仅当指定 ear.path 或 时才使用此参数。当已部署的企业应用程序内特定 Web 模块中的 JSP 页需要重新生成时,该参数是有用的,因为这会检取所有的共享库依赖项。示例:JspBatchCompiler -enterpriseA sampleApp - myWebModule.war缺省值:如果未给出该参数,那么会编译 EAR 文件中的所有 Web 模块或企业应用程序。 filename 表示您要编译的单个 JSP 文件名称。如果没有设置此参数,那么将编译 Web 模块中的所有文件。或者,如果 filename 设置为目录的名称,那么仅编译该目录和它的子目录中的 JSP 文件。该名称相对于 Web 模块的上下文根。示例 1:如果您要编译文件 myTest.jsp,且在 /subdir/myJSPs 中找到它,那么您应该输入 -filename /subdir/myJSPs/myTest.jsp。示例 2:如果您要编译 /subdir/myJSPs 及其子目录中所有的 JSP 文件,那么您应该输入 -filename subdir/myJSPs。缺省值:编译 Web 模块中的所有 JSP 文件。输入 -filename / 等同于缺省值。 recurse 确定是否处理目标目录下的子目录。仅当指定 filename 参数时才使用此参数。将值设置为 false 仅处理名为 filename 参数的目录;并且不处理它的子目录。示例:JspBatchCompiler -enterpriseA sampleApp -filename /subdir1 -recurse false。缺省值:true;处理目标目录下的所有目录。 config.root 指定 WebSpehere Application Server 配置目录的位置。仅当指定 时才使用此参数。 缺省值: WAS_ROOT/profiles/profilename/config 指定部署应用程序的单元名称。仅当指定 时才使用此参数。 缺省值:缺省值是从使用的概要文件脚本获取的。此变量的符号名称为 WAS_CELL。 指定部署应用程序的节点名称。仅当指定 时才使用此参数。 缺省值:缺省值是从使用的概要文件脚本获取的。此变量的符号名称为 WAS_NODE。 表示部署应用程序的服务器名。仅当指定 时才使用此参数。 缺省值:server1 profileName 指定您要使用的概要文件的名称。仅当指定 时才使用此参数。示例:JspBatchCompiler -enterpriseA sampleApp -profileName AppServer-3缺省值:使用缺省概要文件。缺省值可在 install_root/bin 目录中的文件 setupCmdLine 脚本中找到。符号名称为 DEFAULT_PROFILE_SCRIPT。 extractToDir 指定批处理编译器在操作预部署的企业归档(EAR)文件和 Web 应用程序归档(WAR)文件之前,要将它们解压缩到的目录。当指定 时,忽略此参数。如下表描述的那样使用 extractToDir 参数。示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -extractToDir c:myTempDir。用例:在批量编译压缩的归档之前,您必须解压缩它。您还可以将已扩展的归档解压缩到新的目录。这两种情况下,解压缩都保留原始归档不变,这在进行开发时可能很有用。缺省值: 扩展的归档压缩的归档提供了 extractToDir在操作归档之前,批处理编译器将它解压缩到 extractToDir。如果在 extractToDir 中存在其名与归档名相同的文件或目录,那么批处理编译器在解压缩该归档之前完全除去它。如果批处理编译器退出时未发生错误,批处理编译器会在 extractToDir 的适当位置压缩归档(即使原来的 EAR 文件和 WAR 文件是展开的)。如果编译期间发生错误,EAR 文件或 WAR 文件保持展开状态(即使原来的 EAR 文件或 WAR 文件是压缩的)。未提供 extractToDir批处理编译器适当地操作 EAR 文件或 WAR 文件(不将文件解压缩到另一个目录),并且在批处理编译器完成操作之后归档保持展开状态。批处理编译器将归档解压缩到 JVM 属性“java.io.tmpdir”返回的目录。其他行为与上面描述的提供了 extractToDir 的相同。缺省值为 server1。 compileToDir 指定一个目录,该目录中将安放由 JSP 页转换而成的 Java 源文件以及编译而成的类文件。该目录可以在文件系统的任意位置,但通常要适合批处理编译器的缺省行为。下表描述了编译类文件时批处理编译器的行为。示例: JspBatchCompiler -enterpriseA sampleApp -compileToDir c:myTargetDir用例:该参数使您能够将 Java 和类文件生成到目标之外的目录中,如果您要将新生成的文件与它们在目标中未改动的先前版本进行比较,这是有用的。缺省值: 提供了 ear.path 或 war.path提供了 enterpriseA未提供 compileToDir;未提供 compileToWebInf,或者为 true类文件编译到 Web 模块的 WEB-INF/classes 目录类文件编译到 Web 模块的 WEB-INF/classes 目录。未提供 compileToDir;compileToWebInf 为 false类文件编译到 Web 模块的 WEB-INF/classes 目录。类文件编译到 WebSphere Application Server temp 目录(通常为 WAS_ROOT/temp)中。提供了 compileToDir;未提供 compileToWebInf,或者为 true 或 false类文件编译到 compileToDir 表明的目录中。类文件编译到 compileToDir 表明的目录中。 compileToWebInf 指定已编译 JSP 类文件的目标目录是否应该是 Web 模块的 WEB-INF/classes 目录。仅当指定 enterpriseA 时才使用此参数,并且如果指定 compileToDir,compileToDir 将覆盖此参数。批处理编译器的缺省行为是编译到 Web 模块的 WEB-INF/classes 目录。下表描述了编译类文件时批处理编译器的行为。示例:JspBatchCompiler -enterpriseA sampleApp -compileToWebInf false。用例:当提供了 enterpriseA 并且您要将类文件编译到 WebSphere Application Server temp 目录而不是 Web 模块的 WEB-INF/classes 目录时,将该参数设置为 false。建议:如果该参数设置为 false,那么 WEB-INF/classes 目录中存在任何 JSP 类文件时,将 forceCompilation 设置为 true。缺省值:true;请参阅上表。 forceCompilation 指定是否强制批处理编译器重新编译所有的 JSP 资源,而不论 JSP 页是否过时。 示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -forceCompilation true。用例:当为部署创建归档时尤其有用,以确保所有的 JSPE 类是最新的。缺省值:false useFullPackageNames 指定批处理编译器是否为 JSP 类生成完整包名。缺省情况下,在同一个包中生成所有 JSP 类。当 JSP 类在同一个包中时,JSP 引擎的类装入器知道如何装入它们。缺省值有生成较小的文件系统路径的优点。完整包名有一个好处,允许不使用 jsp-file 属性将预编译的 JSP 类文件配置为 web.xml 文件中的 servlet,结果是使用单个类装入器(Web 应用程序的类装入器)装入所有这样的 JSP 类。同样地,当 JSP 引擎的配置属性 useFullPackageNames 和 disableJspRuntimeCompilation 都为 true 时,使用单个类装入器装入所有 JSP 类(即使在 web.xml 文件中未将 JSP 页配置为 servlet)。当 useFullPackageNames 设置为 true 时,批处理编译器在 Web 模块的 WEB-INF 目录中生成名为 generated_web.xml 的文件。此文件包含成功转换和编译的每个 JSP 页的 servlet 配置信息。您可以选择将信息复制到 Web 模块的 web.xml 文件中,以使得 Web 容器能够将 JSP 页作为 servlet 装入。请注意,如果以此方式将 JSP 页配置为 servlet,又修改了该 JSP 页,那么在运行时不会重新装入该 JSP 页。这是因为该 JSP 文件将视作正规的 servlet,对它的请求将不通过 JSP 引擎传递。示例:JspBatchCompiler enterpriseA sampleApp useFullPackageNames true用例:通过单个类装入器装入 JSP 类。缺省值:false removeTempDir 指定是否除去 Web 模块的临时目录。缺省情况下,批处理编译器将 JSP 类文件生成到 Web 模块的 WEB-INF/classes 目录中。如果修改了 JSP 页并且启用了 JSP 重新装入,那么在运行时 JSP 类文件将生成到 temp 目录。批量编译 Web 模块中的所有 JSP 页并且同时除去 temp 目录,这样就保留了磁盘资源。当给出 -enterpriseA 时,您只能使用 removeTempDir 参数。示例:JspBatchCompiler -enterpriseA sampleApp -removeTempDir true。用例:通过清除 Web 应用程序的 temp 目录释放磁盘空间。缺省值:false translate 指定是否转换和编译 JSP 页。如果您不要转换和编译 JSP 页,那么将 translate 设置为 false。要指示批处理编译器只除去 temp 目录而不进行进一步处理,您必须使用此选项并带上 -removeTempDir。示例:JspBatchCompiler -enterpriseA sampleApp -translate false -removeTempDir true。用例:通过清除 Web 应用程序的 temp 目录释放磁盘空间,而无需调用 JSP 处理。缺省值:true compile 指定是否要 JSP 页完成 Java 编译阶段。如果您不要 JSP 页完成 Java 编译阶段,那么将 compile 设置为 false。示例:JspBatchCompiler -enterpriseA sampleApp -compile false用例:如果您仅希望检查 JSP 页的语法,那么将 -compile 设置为 false。如果您要了解转换阶段生成的 .java 文件,那么可将 -keepgenerated 设置为 true。缺省值:true trackDependencies 指定在 JSP 页的任何依赖项发生更改时(即使 JSP 页未更改),是否要批处理编译器重新编译它。跟踪依赖项将导致运行时性能明显下降,因为每次请求 JSP 页时 JSP 引擎都要检查文件系统,以查看 JSP 页的任何依赖项是否发生了更改。下面是 WebSphere Application Server 跟踪的相关性: 1. JSP 页中静态包含的文件 2. JSP 页中使用的标记文件(不包含 JAR 文件中的标记文件) 3. JSP 页使用的 TLD 文件(不包含 JAR 文件中的 TLD 文件) 示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -trackDependencies true。用例:在开发环境中是有用的。缺省值:false createDebugClassfiles 指定批处理编译器是否按照 JSR 45 调试其他语言的支持生成包含 SMAP 信息的类文件。示例:JspBatchCompiler -enterpriseA sampleApp -createDebugClassfiles true用例:在 JSR 45-compliant IDE 中调试 JSP 页时,要使用该参数。缺省值:false keepgenerated 指定批处理编译器是保存还是擦除转换阶段生成的 Java 源文件。如果设置为 true,WebSphere Application Server 将用于编译的已生成的 .java 文件保存到您的服务器上。缺省情况下,该参数设置为 false,因而编译类文件后将擦除 .java 文件。示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -keepgenerated true用例:当您要查看批处理编译器生成的 Java 代码时,使用该参数。缺省值:false keepGeneratedclassfiles 指定批处理编译器是保存还是擦除在编译 Java 源文件期间生成的类文件。示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -keepGeneratedclassfiles false -keepgenerated false 用例:如果您仅希望查看 JSP 页中是否有任何转换或编译错误,那么将该参数设置为 false。如果 -keepgenerated 也设置为 false,那么该参数将导致在批处理编译器完成操作之前除去所有已生成的文件。缺省值:true usePageTagPool 启用或禁用基于单个 JSP 页复用定制标记处理程序。 示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -usePageTagPool true用例:使用此参数以启用基于 JSP 页复用标记处理程序。缺省值:false useThreadTagPool 启用或禁用基于每个 Web 模块的每个请求线程复用定制标记处理程序。示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -useThreadTagPool true 用例:使用此参数以启用基于 Web 模块复用标记处理程序。缺省值:false classloader.parentFirst 通过指示批处理编译器先搜索父类装入器再搜索应用程序类装入器,指定装入类的搜索顺序。仅当给定 ear.path 或 enterpriseA 时才使用此参数。示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -classloader.parentFirst false用例:当您的 Web 模块包含也可以在服务器 lib 目录中找到的 JAR 文件,并且您希望首先检取 Web 模块的 JAR 文件时,将此参数设置为 false。缺省值:true classloader.singleWarClassloader 指定是每个企业归档(EAR)文件使用一个类装入器,还是每个 Web 应用程序归档(WAR)文件使用一个类装入器。仅当指定 ear.path 或 enterpriseA 时才使用此参数。示例:JspBatchCompiler -ear.path c:myprojectsampleApp.ear -classloader.singleWarClassloader true 用例:当 Web 模块依赖于同一个企业应用程序中的另一个 Web 模块中的 JAR 文件和类时,将此参数设置为 true。缺省值:false;每个 WAR 文件创建一个类装入器,而无视其他 Web 模块中的类。 additional.classpath 指定要在解析和编译 JSP 页时使用的其他类路径条目。仅当指定 war.path 时才使用此参数。当 war.path 是目标时,批处理编译器不会获得 WebSphere 共享库。因此,如果您的 WAR 文件依赖 WebSphere Application Server 中配置为共享库的 JAR 文件,那么使用此选项以指向该 JAR 文件。另外,如果您指定 war.path 并且还使用 -extractToDir 参数,那么不会将 WAR 文件的清单类路径中的任何 JAR 文件添加到类路径(因为 WAR 文件现在已将它自己解压缩到它所在的 EAR 文件之外)。在这种情况下,使用 -additional.classpath 以指向必需的 JAR 文件。将完整路径添加到必需的资源,用随系统而定的路径分隔符分隔这些资源。示例:JspBatchCompiler -war.path c:myprojectexamples.war -additional.classpath c:myJarssomeJar.jar;c:myClasses用例:使用该参数以添加到类路径 JAR 文件和 WAR 文件外的类。在运行时,通过标准 WebSphere Application Server 配置机制必须能使用这些 JAR 文件和类。缺省值:NULL jspCompileClasspath 此选项指示批处理编译器为 Java 编译阶段使用小的类路径。小的类路径加快编译过程的速度。缺省情况下,不使用这个小的类路径,因为它只包含 WebSphere Application Server JAR 文件的子集。许多 WebSphere Application Server JAR 文件包含了 WebSphere 公用 API,这些文件不包括在小的类路径中。如果 JSP 页不使用 scriptlet 中的任何 WebSphere 公用 API,您可以通过使用没有值的 jspCompileClasspath 参数启用小的类路径,如下面的示例 1 中所述。如果您的 JSP 页使用 scriptlet 中的 WebSphere 公用 API,那么将那些额外的 JAR 文件添加到 jspCompileClasspath 选项中,如下面的示例 2 中所述。用空格分隔各条目,并且将它们假设为与 WebSphere Application Server 安装根相关。示例 1:如果 JSP 页中不需要公用 API:JspBatchCompiler -enterpriseA sampleApp -jspCompileClasspath 示例 2:JSP 页需要 admin.jar 文件中的公用 API:JspBatchCompiler -enterpriseA sampleApp jspCompileClasspath lib/admin.jar 用例:使用此参数加快 Java 编译处理 JSP 页的步骤。缺省值:缺省情况下,使用完整的 WebSphere Application Server 类路径。 verbose 指定批处理编译器是否应该在编译已生成的源时生成详细输出。示例:JspBatchCompiler -war.path c:myprojectexamples.war -verbose true用例:当您要查看 Java 编译器类装入和其他消息时,将此参数设置为 true。缺省值:false deprecation 表明编译器应在编译生成的源时生成建议不要使用警告。示例:JspBatchCompiler -war.path c:myprojectexamples.war -deprecation true用例:当您要查看 Java 编译器不赞成消息时,将此参数设置为 true。缺省值:false javaEncoding 指定 Java 编译器生成 .java 文件和编译 .java 文件时使用的编码。设置 -javaEncoding 后,通过 -encoding 参数将编码传递到 Java 编译器。注意,Jikes 不支持编码。示例:JspBa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论