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 文件扩展名
- 标准 JSP 文件扩展名
- .jsp
- .jspx
- .jsw
- .jsv
- Servlet 2.4 Web 模块中部署描述符文件的 sp-property-group 元素的 url-pattern 属性
- jsp.file.extensions JSP 引擎配置参数(适用于在 Servlet 2.4 之前的 Web 模块)
- 批处理编译器配置参数 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 任务”主题以了解其他信息。
用于从
Qshell 命令行运行批处理编译器的 JspBatchCompiler 脚本位于 app_server_root/bin 目录中。也可以使用 Ant 任务执行使用 Ant 的批处理编译器。请参阅“批处理编译器 Ant 任务”主题以了解其他信息。
JspBatchCompiler -ear.path | -war.path | -enterpriseapp.name <name>
[-response.file <filename>]
[-webmodule.name <name>]
[-filename <jsp name | directory name>
[-recurse <true | false>]
[-config.root <path>]
[-cell.name <name>]
[-cluster.name <name>] [-node.name <name>]
[-server.name <name>]
[-profileName <name>]
[-extractToDir <path>]
[-compileToDir <path>]
[-compileToWebInf <true | false>]
[-compileToWebInf <true | false>]
[-compileAfterFailure <true | false>]
[-translate <true | false>]
[-compile <true | false>]
[-removeTempDir <true | false>]
[-forceCompilation <true | false>]
[-useFullPackageNames <true | false>]
[-trackDependencies <true | false>]
[-createDebugClassfiles <true | false>]
[-keepgenerated <true | false>]
[-keepGeneratedclassfiles <true | false>]
[-usePageTagPool <true | false>]
[-useThreadTagPool <true | false>]
[-classloader.parentFirst <true | false>]
[-classloader.singleWarClassloader <true | false>]
[-additional.classpath <classpath to additional JAR files and classes>]
[-verbose <true | false>]
[-deprecation <true | false>]
[-javaEncoding <encoding>
[-jdkSourceLevel <13 | 14 | 15 | 16 | 17 | 18 >]
[-compilerOptions <space-separated list of java compiler options>]
[-useJikes <true | false>]
[-jsp.file.extensions <file extensions to process>]
[-log.level <SEVERE | WARNING | INFO | CONFIG | FINE | FINER | FINEST | OFF>]
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
*** See batchcompiler.properties.default in WAS_ROOT/bin for more information. ***
*** See JspCBuild.xml in WAS_ROOT/bin for information about the public WebSphere Ant task JspC. ***
![[IBM i]](../images/iseries.gif)
*** See batchcompiler.properties.default in app_server_root/bin for more information. ***
*** See JspCBuild.xml in app_server_root/bin for information about the public WebSphere Ant task JspC. ***
- Web 模块的 JSP 引擎配置参数。
请参阅“JSP 引擎配置参数”主题。
- 批处理编译器响应文件配置参数。
这些是在批处理编译器响应文件中找到的参数。请参阅 -response.file。
- 批处理编译器命令行配置参数。
这些是运行批处理编译器时在命令行上输入的参数。
- 如果在命令行上找到参数,那么使用它的值。
- 如果在命令行上找不到参数,那么批处理编译器在命令行上指定的响应文件中查找参数。
- 如果没有指定响应文件,或者未在响应文件中找到参数,那么批处理编译器在 Web 模块的 JSP 引擎配置参数中查找参数。
如果未在这三个组中找到配置参数,那么使用缺省值。提供了配置参数的缺省值和参数的描述。
这些参数不区分大小写,但 -profileName 例外,它区分大小写。如果为这些参数指定的值由两个或多个以空格分隔的字组成,那么必须在值周围添加引号。
批处理编译器不创建(或不设置)等价的 JSP 引擎参数的值。这意味着如果部署的 Web 模块中的 JSP 页面由 JSP 引擎在运行时修改并重新编译,那么 JSP 引擎的配置参数将确定引擎的行为。例如,如果您使用批处理编译器编译 Web 模块并且使用 -useFullPackageNames true 选项,请编译 JSP 文件来支持该选项。但是还必须将 JSP 引擎参数 useFullPackageNames 设为 true,以使 JSP 运行时能够装入已编译的 JSP 页面。如果在已部署的 Web 模块中修改了 JSP 页面,那么应当将引擎的参数设为批处理编译中使用的值。
要使用 JSP 批处理编译器,请在操作系统命令提示符的一行上输入下列其中一个命令。
- ear.path | war.path | enterpriseapp.name表示单个压缩的或展开的企业应用程序归档 (EAR) 文件或 Web 应用程序归档 (WAR) 文件的完整路径,或表示要编译的已部署的企业应用程序的名称。例如:
JspBatchCompiler -ear.path c:\myproject\sampleApp.ear
JspBatchCompiler -ear.path /myhfs/myprojects/sampleApp.ear
JspBatchCompiler -war.path c:\myWars\examples.war
JspBatchCompiler -enterpriseapp.name myEnterpriseApp -webmodule.name my.war -filename aDir/main.jsp
JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear
JspBatchCompiler -war.path /home/wasuser/wars/examples.war
JspBatchCompiler -enterpriseapp.name myEnterpriseApp -webmodule.name my.war -filename mydirectory/main.jsp
- response.file
表示到包含批处理编译器使用的配置参数的文件的路径。仅当在命令行上指定 response.file 时才使用它;如果在响应文件中出现,那么忽略它。
在缺省安装中,模板响应文件 batchcompiler.properties.default 位于 {WAS_ROOT}/bin 目录中。复制此模板以创建您自已的响应文件,该响应文件包含您感兴趣的参数的缺省值。所有必需和可选参数(除 response.file 之外)都可能在响应文件中配置。例如:JspBatchCompiler -response.file c:\myproject\batchc.props
模板响应文件 batchcompiler.properties.default 位于 app_server_root/properties 目录中。复制此模板以创建您自已的响应文件,该响应文件包含您感兴趣的参数的缺省值。可以在响应文件中配置所有必需和可选参数(除 response.file 之外)。例如:JspBatchCompiler -response.file /home/wasuser/myproject/batchc.props
缺省值:null
- webmodule.name
表示您要批量编译的特定 Web 模块的名称。如果没有设置此参数,那么将编译企业应用程序中的所有 Web 模块。仅当指定 ear.path 或 enterpriseapp.name 时才使用此参数。当已部署的企业应用程序内特定 Web 模块中的 JSP 页面需要重新生成时,该参数是有用的,因为这将获取所有的共享库依赖项。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -webmodule.name 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 -enterpriseApp.name sampleApp -filename /subdir1 -recurse false。
缺省值:true;处理目标目录下的所有目录。
- config.root
指定 WebSphere Application Server 配置目录的位置。仅当指定 enterpriseapp.name 时才使用此参数。
缺省值:{WAS_ROOT}/profiles/profilename/config
缺省值:profile_root/config
- cell.name
指定部署应用程序的单元名称。仅当指定 enterpriseapp.name 时才使用此参数。
缺省值:缺省值从使用的概要文件脚本中获取。此变量的符号名称为 WAS_CELL。
- cluster.name
指定部署应用程序的集群名称。此参数为批处理编译器提供了对集群范围内的共享库的访问权限,并且仅当指定了 enterpriseapp.name 时才使用此参数。
缺省值:缺省值从使用的概要文件脚本中获取。此变量的符号名称为 WAS_CLUSTER。
- node.name
指定部署应用程序的节点名称。仅当指定 enterpriseapp.name 时才使用此参数。
缺省值:缺省值从使用的概要文件脚本中获取。此变量的符号名称为 WAS_NODE。
- server.name
表示部署应用程序的服务器名。仅当指定 enterpriseapp.name 时才使用此参数。
缺省值:server1
- profileName
指定您要使用的概要文件的名称。仅当指定 enterpriseapp.name 或 -ear 路径时,才使用此参数。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -profileName AppServer-3
缺省值:使用缺省概要文件。缺省值可从 install_root/bin 目录中的文件 setupCmdLine 脚本中获取。符号名称为 DEFAULT_PROFILE_SCRIPT。
缺省值:使用缺省概要文件。缺省值可在 app_server_root/bin 目录中的 setupCmdLine 脚本中找到。符号名称为 DEFAULT_PROFILE_SCRIPT。
- extractToDir
指定在对预部署的企业归档 (EAR) 文件和 Web 应用程序归档 (WAR) 文件运行批处理编译器之前,要将这些文件解压至的目录。当指定 enterpriseapp.name 时,忽略此参数。如表中所描述的那样使用 extractToDir 参数。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -extractToDir c:\myTempDir。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -extractToDir /home/wasuser/mytempdir。
用例:必须先解压缩压缩的归档,然后再对其执行批量编译。您还可以将已扩展的归档解压缩到新的目录。这两种情况下,解压缩都保留原始归档不变,这在进行开发时可能很有用。
表 1. extractToDir . 缺省值 扩展的归档 压缩的归档 提供了 extractToDir 在操作归档之前,批处理编译器将它解压缩到 extractToDir。如果在 extractToDir 中存在其名与归档名相同的文件或目录,那么批处理编译器在解压缩该归档之前完全除去它。如果批处理编译器退出时未发生错误,批处理编译器会在 extractToDir 的适当位置压缩归档(即使原来的 EAR 文件和 WAR 文件是展开的)。如果编译期间发生错误,EAR 文件或 WAR 文件保持展开状态(即使原来的 EAR 文件或 WAR 文件是压缩的)。 未提供 extractToDir 批处理编译器适当地操作 EAR 文件或 WAR 文件(不将文件解压缩到另一个目录),并且在批处理编译器完成操作之后归档保持展开状态。 批处理编译器将归档解压缩到 JVM 属性“java.io.tmpdir”返回的目录。如果提供了 extractToDir,那么所述行为的其余部分在此情况下是相同的。 缺省值为 server1。
- compileToDir
指定一个目录,该目录中将放置由 JSP 页面转换而成的 Java 源文件以及编译而成的类文件。该目录可以在文件系统的任意位置,但通常要适合批处理编译器的缺省行为。此表描述了编译类文件时批处理编译器的行为。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -compileToDir c:\myTargetDir
示例:JspBatchCompiler -enterpriseApp.name sampleApp -compileToDir /home/wasuser/myTargetDir
用例:此参数使您能够在目标之外的目录中生成 Java 和类文件,如果要将新生成的文件与它们在目标中未改动的先前版本进行比较,此行为将非常有用。
表 2. compileToDir . 缺省值 提供了 ear.path 或 war.path 提供了 enterpriseApp.name 未提供 compileToDir;未提供 compileToWebInf,或者为 true 类文件编译到 Web 模块的 WEB-INF/classes 目录 类文件编译到 Web 模块的 WEB-INF/classes 目录。 未提供 compileToDir;compileToWebInf 为 false 类文件编译到 Web 模块的 WEB-INF/classes 目录。 类文件编译到产品临时目录(通常为 {WAS_ROOT}/temp)中。 提供了 compileToDir;未提供 compileToWebInf,或者为 true 或 false 类文件编译到 compileToDir 表明的目录中。 类文件编译到 compileToDir 表明的目录中。 表 3. compileToDir . 缺省值 提供了 ear.path 或 war.path 提供了 enterpriseApp.name 未提供 compileToDir;未提供 compileToWebInf,或者为 true 类文件编译到 Web 模块的 WEB-INF/classes 目录 类文件编译到 Web 模块的 WEB-INF/classes 目录。 未提供 compileToDir;compileToWebInf 为 false 类文件编译到 Web 模块的 WEB-INF/classes 目录。 类文件编译到产品临时目录(通常为 profile_root/temp)中。 提供了 compileToDir;未提供 compileToWebInf,或者为 true 或 false 类文件编译到 compileToDir 表明的目录中。 类文件编译到 compileToDir 表明的目录中。 - compileToWebInf
指定已编译 JSP 类文件的目标目录是否应该是 Web 模块的 WEB-INF/classes 目录。仅当指定 enterpriseApp.name 时才使用此参数,并且如果指定 compileToDir,compileToDir 将覆盖此参数。
批处理编译器的缺省行为是编译到 Web 模块的 WEB-INF/classes 目录。此表描述了编译类文件时批处理编译器的行为。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -compileToWebInf false。
用例:如果提供了 enterpriseApp.name 并且您希望将类文件编译到 WebSphere Application Server 临时目录而不是 Web 模块的 WEB-INF/classes 目录,请将此参数设置为 false。建议:如果该参数设为 false,那么 WEB-INF/classes 目录中存在任何 JSP 类文件时,将 forceCompilation 设为 True。
缺省值:true;请参阅表。
- compileAfterFailure
指定在无法编译当前目录中的一个或多个 JavaServer Pages (JSP) 文件的情况下,JDK JSP 批处理编译器是否继续编译该目录中的其他 JavaServer Pages (JSP) 文件。通常,当无法编译其中一个文件时,JSP 批处理编译器会跳过该目录中所有剩余的 JSP,并开始编译下一个目录中的文件。
如果将此参数设为 true,那么还必须指定 useJDKCompiler 参数,并将此参数设为 True。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -useJDKCompiler true -compileAfterFailure false。
用例:如果希望即使无法编译当前目录中的一个或多个 JavaServer Pages (JSP) 文件,JSP 批处理编译器仍编译该目录中的其他 JSP 文件,请将此参数设为 True。
缺省值:false
- forceCompilation
指定是否强制批处理编译器重新编译所有的 JSP 资源,而不论 JSP 页面是否过时。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -forceCompilation true。
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.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 -enterpriseApp.name sampleApp -useFullPackageNames true
用例:使 JSP 能够通过单一类装入器装入。
缺省值:false
- removeTempDir
指定是否除去 Web 模块的 temp 目录。缺省情况下,批处理编译器在 Web 模块的 WEB-INF/classes 目录中生成 JSP 类文件。如果修改了 JSP 页面并且启用了 JSP 重新装入,那么在运行时 JSP 类文件将生成到 temp 目录。批量编译 Web 模块中的所有 JSP 页面并且同时除去 temp 目录,这样就保留了磁盘资源。当给出 -enterpriseApp.name 时,您只能使用 removeTempDir 参数。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -removeTempDir true。
用例:通过清除 Web 应用程序的 temp 目录释放磁盘空间。
缺省值:false
- translate
指定是否转换和编译 JSP 页面。如果不希望转换和编译 JSP 页面,请将 translate 设为 false。 要指示批处理编译器只除去 temp 目录而不进行进一步处理,您必须将此选项与 -removeTempDir 配合使用。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -translate false -removeTempDir true。
用例:通过清除 Web 应用程序的 temp 目录释放磁盘空间,而无需调用 JSP 处理。
缺省值:true
- compile
指定是否希望 JSP 页面完成 Java 编译阶段。如果不希望 JSP 页面完成 Java 编译阶段,请将 compile 设为 false。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -compile false
用例:如果只希望检查 JSP 页面的语法,请将 -compile 设为 false。如果您要了解转换阶段生成的 .java 文件,那么可将 -keepgenerated 设为 True。
缺省值:true
- trackDependencies指定在 JSP 页面的任何依赖项发生更改时(即使 JSP 页面未更改),是否要批处理编译器重新编译它。跟踪依赖项将导致运行时性能明显下降,因为每次请求 JSP 页面时 JSP 引擎都要检查文件系统,以查看 JSP 页面的任何依赖项是否发生了更改。WebSphere Application Server 跟踪的依赖项为:
- JSP 页面中静态包含的文件
- JSP 页面中使用的标记文件(不包含 JAR 文件中的标记文件)
- JSP 页面使用的 TLD 文件(不包含 JAR 文件中的 TLD 文件)
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -trackDependencies true。
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -trackDependencies true。
用例:在开发环境中有用。
缺省值:false
- createDebugClassfiles
指定批处理编译器是否按照 JSR 45“调试其他语言的支持”生成包含 SMAP 信息的类文件。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -createDebugClassfiles true
用例:要能够在 JSR 45-compliant IDE 中调试 JSP 页面,请使用此参数。
缺省值:false
- keepgenerated
指定批处理编译器是保存还是擦除转换阶段期间生成的 Java 源文件。
如果设为 true,那么 WebSphere Application Server 会将用于编译的生成 .java 文件保存在服务器上。缺省情况下,该参数设为 false,因而编译类文件后将擦除 .java 文件。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -keepgenerated true
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -keepgenerated true
用例:要复审批处理编译器生成的 Java 代码,请使用此参数。
缺省值:false
- keepGeneratedclassfiles
指定批处理编译器是保存还是擦除在编译 Java 源文件期间生成的类文件。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -keepGeneratedclassfiles false -keepgenerated false
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -keepGeneratedclassfiles false -keepgenerated false
用例:如果只希望查看 JSP 页面中是否存在任何转换或编译错误,请将此参数设为 false。如果 -keepgenerated 也设为 false,那么该参数将导致在批处理编译器完成操作之前除去所有已生成的文件。
缺省值:true
- usePageTagPool
启用或禁用基于单个 JSP 页面复用定制标记处理程序。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -usePageTagPool true
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -usePageTagPool true
用例:使用此参数启用基于 JSP 页面复用标记处理程序。
缺省值:false
- useThreadTagPool
启用或禁用基于每个 Web 模块的每个请求线程复用定制标记处理程序。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -useThreadTagPool true
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -useThreadTagPool true
用例:使用此参数启用基于 Web 模块复用标记处理程序。
缺省值:false
- classloader.parentFirst
通过指示批处理编译器先搜索父类装入器再搜索应用程序类装入器,指定装入类的搜索顺序。仅当给定 ear.path 或 enterpriseApp.name 时才使用此参数。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -classloader.parentFirst false
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -classloader.parentFirst false
用例:如果您的 Web 模块包含也可以在服务器 lib 目录中找到的 JAR 文件,并且您希望首先获取 Web 模块的 JAR 文件,请将此参数设为 false。
缺省值:true
- classloader.singleWarClassloader
指定是每个企业归档 (EAR) 文件使用一个类装入器,还是每个 Web 应用程序归档 (WAR) 文件使用一个类装入器。仅当指定 ear.path 或 enterpriseApp.name 时才使用此参数。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -classloader.singleWarClassloader true
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.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:\myproject\examples.war -additional.classpath c:\myJars\someJar.jar;c:\myClasses
示例:JspBatchCompiler -war.path /home/wasuser/myproject/examples.war -additional.classpath /home/wasuser/myJars/someJar.jar:/home/wasuser/myClasses
用例:使用该参数以添加到类路径 JAR 文件和 WAR 文件外的类。在运行时,通过标准 WebSphere Application Server 配置机制必须能使用这些 JAR 文件和类。
缺省值:null
- verbose
指定批处理编译器是否应该在编译已生成的源时生成详细输出。
示例:JspBatchCompiler -war.path c:\myproject\examples.war -verbose true
示例:JspBatchCompiler -war.path /home/wasuser/myproject/examples.war -verbose true
用例:如果要查看 Java 编译器类装入和其他消息,请将此参数设置为 true。
缺省值:false
- deprecation
表明编译器应在编译生成的源时生成不推荐使用警告。
示例:JspBatchCompiler -war.path c:\myproject\examples.war -deprecation true
示例:JspBatchCompiler -war.path /home/wasuser/myproject/examples.war -deprecation true
用例:如果要查看 Java 编译器不推荐的消息,请将此参数设置为 true。
缺省值:false
- javaEncoding
指定 Java 编译器生成 .java 文件和编译 .java 文件时使用的编码。如果设置了 -javaEncoding,那么通过使用 -encoding 参数将编码传递至 Java 编译器。注意,Jikes 不支持编码。
示例:JspBatchCompiler -war.path c:\myproject\examples.war -javaEncoding Shift-JIS
示例:JspBatchCompiler -war.path/home/wasuser/myproject/examples.war -javaEncoding Shift-JIS
用例:如果 JSP 页面的页面编码与 UTF-8 不兼容,请设置此参数。
缺省值:UTF-8。
- jdkSourceLevel
此参数在 WebSphere Application Server V6.1 中引入以支持JDK 5。请使用此参数来代替 compileWithAssert 参数,尽管 compile WithAssert 仍然在 V6.1 中起作用。
此参数的缺省值为 17。该参数需要重新生成 Java 源代码。以下是 jdkSourceLevel 参数值:- 值 13 表示禁用 JDK 1.4、JDK 5.0、JDK 6.0、JDK 7.0 和 JDK 8.0 的所有新语言功能部件。
- 值 14 表示允许使用断言工具并禁用 JDK 5.0、JDK 6.0、JDK 7.0 和 JDK 8.0 的所有新语言功能部件。
- 值 15 表示允许使用断言工具并禁用 JDK 6.0、JDK 7.0 和 JDK 8.0 的所有新语言功能部件。
- 值 16 表示允许使用断言工具并禁用 JDK 7.0 和 JDK 8.0 的所有新语言功能部件。
- 值 17 表示允许使用断言工具并禁用 JDK 8.0 的所有新语言功能部件。
- 值 18 表示允许使用 JDK 8.0 的新功能部件。
示例:JspBatchCompiler -war.path c:\myproject\examples.war -jdkSourceLevel 14
用例:如果要启用或禁用 JDK 1.4、JDK 5.0、JDK 6.0、JDK 7.0 和 JDK 8.0 的语言功能部件,请设置此参数
缺省值:17
- compilerOptions
指定要在 Java 编译器命令上传递的字符串列表。这是以空格分隔的列表,它的格式为“arg1 arg2 argn”。
示例:JspBatchCompiler -war.path c:\myproject\examples.war -compilerOptions “-bootclasspath <path>”
示例:JspBatchCompiler -war.path /home/wasuser/myproject/examples.war -compilerOptions “-bootclasspath <path>”
用例:如果除了冗长、不推荐和声明工具支持外,您还需要其他 Java 编译器参数,请使用此参数。
缺省值:null
- useJikes
指定编译 Java 源代码是否应该使用 Jikes。注:Jikes 不随 WebSphere Application Server 一起交付。
示例:JspBatchCompiler -ear.path c:\myproject\sampleApp.ear -useJikes true
示例:JspBatchCompiler -ear.path /home/wasuser/myproject/sampleApp.ear -useJikes true
用例:将此参数设为 true,以使批处理编译器使用 Jikes 作为 Java 编译器。
缺省值:false
- jsp.file.extensions
指定要由批处理编译器处理的文件扩展名。这是格式为 *.ext1;*.ext2:*.extn 的分号或冒号分隔列表。注意,此参数不是 Servlet 2.4 Web 应用程序必需的,因为部署描述符中的 jsp-property-group 元素的 url-pattern 属性可以用于识别应该被视为 JSP 页面的扩展名。
示例:JspBatchCompiler -enterpriseApp.name sampleApp -jsp.file.extensions *jspz;*.jspt
用例:使用此参数添加可被批处理编译器处理的其他扩展。
缺省值:null。请参阅本主题中的“JSP 文件扩展”部分以了解其他信息。
- log.level
指定批量编译过程中指向控制台的记录的级别。值包括 SEVERE | WARNING | INFO | CONFIG | FINE | FINER | FINEST | OFF
示例:JspBatchCompiler -enterpriseApp.name sampleApp -log.level FINEST
用例:将此参数设置得高一点或低一点以控制记录输出。FINEST 将生成对于调试最有用的输出。
缺省值:CONFIG