1.0 简介
2.0 已知问题
2.1 将模块文件添加至企业应用程序项目
2.2 企业应用程序中的备用部署描述符(alt-dd)元素
2.3 EJB/Web/应用程序客户机项目的 Java 构建路径设置
2.4 不支持 EAR 内的 JAR URI 中具有空格
2.5 企业应用程序项目名称不应包含 DBCS 字符
2.6 二进制项目是只读的
2.7 多次创建示例
2.8
对实用程序 JAR 文件除去依赖项时的 Java 构建路径更新
2.9 Java JAR 依赖项页面无法更新 Java 构建路径
2.10 删除时自动除去 WebSphere 绑定
2.11 J2EE ANT 任务支持
2.12
由于 JSP 验证而引起资源锁定
2.13
导入和覆盖现有文件时从 ClearCase 自动检出
2.14 对新的 J2EE 项目使用非缺省项目位置时发生“无效项目描述”错误
2.15 J2EE 无头 Ant 支持:com.ibm.etools.j2ee.ant.RunAnt 应用程序
J2EE 透视图包含您在为企业应用程序、EJB、Web 和应用程序客户机项目开发资源时通常会使用的视图。本自述文件描述与 WebSphere Studio 中的 J2EE 开发工具相关联的已知问题、限制与变通方法。在 Web 工具的自述文件中说明了与 J2EE 视图和 J2EE Web 项目相关的一些其它项。
在将其中一种模块文件类型(EJB JAR、WAR、RAR 和“应用程序客户机”JAR 文件)导入到企业应用程序项目中时,必须使用正确的导入向导并将模块文件导入到适当的项目类型中。不要导入到企业应用程序项目中。如果将模块文件导入企业应用程序项目中,则将无法使用“应用程序”部署描述符编辑器将该模块添加到应用程序中。
在 WebSphere Studio 中,目前不支持使用 alt-dd。变通方法是编辑所包含的模块的部署描述符。
建议您尽可能地接受 J2EE 项目类型的 Java 构建路径的缺省设置。要设置“企业应用程序”中包含的各个项目之间的依赖项,请使用“JAR 依赖项”编辑器或“Java JAR 依赖项”属性页面。这将使 MANIFEST.MF 文件的 Class-Path 属性(用于服务器运行时)与项目 Java 构建路径(用于 Java 编译)保持同步。
通常,模块必需的库必须包含在“企业应用程序”中,或者对服务器可视。因此,在将外部库添加至项目构建路径时务必小心谨慎,因为项目有可能无法在服务器上运行。例如,假定您具有一个想要在 WEB 模块中引用的 off_the_shelf.jar 库。您就可以:
- 使用文件系统导入向导来将 off_the_shelf.jar 添加至“企业应用程序”;然后使用“JAR 依赖项”编辑器来使 WEB 模块依赖于 JAR,或者
- 使用 WEB 项目的 Java 构建路径属性来将 JAR 添加至构建路径;服务器就必须对 JAR 具有可视性。
要为单元测试完成此操作,请编辑服务器配置并将 JAR 添加至类路径。
不支持企业应用程序中的模块或实用程序 JAR 中的 URI 中具有空格。在 EAR 中,JAR 或模块中的 MANIFEST.MF 文件的“Class-Path:”属性是用空格定界的相对路径的列表。如果被引用的 JAR 的 URI 中包含空格,则 JAR 将不能引用 EAR 中的另一个 JAR。
在创建企业应用程序项目时,建议不要对其指定包含 DBCS 字符的名称。
由 EAR 导入创建的二进制项目(是作为导入向导上的选项提供的)将是只读的。不应尝试修改二进制项目的内容。但是,可以删除二进制项目和将它替换为资源库中的源版本。应对二进制项目禁用大部分操作。如果您使用二进制项目,则应避免执行将修改项目或 JAR 的内容的任何操作。
为了创建内置“企业应用程序示例”的多个实例,在再次导入示例之前,需要重命名现有示例项目及其所有模块项目。如果不遵循这些步骤,在第二次导入时就会覆盖模块项目而不发出警告。
在“J2EE 层次结构”视图中,右键单击需要重命名的每个模块并选择重命名。在打开的对话中,输入新名称并同时选择在所有企业应用程序中重命名模块和重命名引用选择的项目的模块依赖项。从“J2EE 层次结构”视图中使用重命名和选择这两个选项是很重要的,以便使模块互相依赖性保持完整。
当对实用程序 JAR 除去依赖项时,仅当 EAR 项目仍然引用相关 JAR 时才会从 Java 构建路径中除去相应的 Java 项目。
例如,假定您随 JUnit Java 示例项目一起创建 J2EE 1.3 Web 项目和 EAR。接着,在 EAR 中将 JUnit 项目作为实用程序 JAR 来添加,然后将 JUnit 作为 Web 项目的 Java JAR 依赖项来添加。
然后,如果您想除去 JUnit 与 Web 项目之间的依赖项,则首先从 Web 项目中除去 Java JAR 依赖项,然后从 EAR 中除去实用程序 JAR。遵循此顺序以确保它正确工作。
“Java JAR 依赖项”页面与项目属性对话框中的 Java 构建路径页面不同步。因此,在一个页面中应用的更改可能不会反映在同一个对话框会话中的另一个页面中。
还存在这样一些情况:当在各页面之间前后翻页时,将导致在按了“确定”按钮之后或者在按“确定”按钮之前按了“应用”按钮,一个页面中的更新将取消另一个页面中的更新。通常这将表现为似乎添加了 JAR 依赖项,但是,未将项目添加至 Java 构建路径。
变通方法是重新打开属性对话框,切换到 JAR 依赖项页面,取消选择然后再重新选择相关 JAR,并按“确定”。
在删除包含 WebSphere 绑定的对象时,还会自动删除绑定对象。例如,如果您删除应用程序部署描述符编辑器的“安全性”页面中带有绑定的安全角色,则也会删除安全角色绑定。如果您重新添加同名的安全角色,则需要时务必重新绑定它。
在版本 4.x 中,通过从 Web 中下载一个压缩文件(com.ibm.ant.extras.zip)就可以获得用于导出的附加工作空间 Ant 任务和 J2EE 任务。现在,在 com.ibm.etools.j2ee.ant 产品的基本产品中就提供了这些附加任务。
如果使现有 ANT 构建不基于旧插件,则将需要迁移这些构建,这是由于 4.0.x 中发生了下列更改:
- 因为已经从可用于 4.0.x 的可下载“extra”重命名了插件,所以已经更新了用于无头运行的示例 runAnt.bat 文件。尤其是,启动应用程序的标识已经从“com.ibm.ant.extras.RunAnt”更改为“com.ibm.etools.j2ee.ant.RunAnt”。必须修改用来启动无头工作空间的任何现有 .bat 文件。
- 建议现在不要执行 utilJAR 任务。保留它只是为了兼容性;然而,应该使用应用程序编辑器中的 util JAR 支持。还要注意,已经简化了任务,一些参数不再适用。有关更多信息,请参阅任务文档。
- 已经为 EAR 导出任务添加了参数,以包括受向导支持的新标志,在导出期间它包括项目元文件。这对于二进制项目很有用。有关优化二进制项目的开发的更多信息,请参阅产品文档。
- 已经将 EJBDeploy 任务的“use35rules”参数重命名为“compatible35”。
如果“JSP 验证器”最近对 Web 项目进行了验证,则有可能该项目引用的任何库 JAR 文件或类文件仍在使用中。结果,可能无法删除或移动个别的 JAR 或类文件(例如,如果您选择删除 /WEB-INF/lib 目录)。如果 Web 项目将 EAR 项目中的 JAR 文件作为 Java JAR 依赖项来引用,则不能删除 EAR 项目或删除 EAR 项目中的 JAR。要为文件管理活动“释放”这些资源,请关闭 Web 项目,然后再重新打开它。
在导入 J2EE 模块并选择覆盖检入至 ClearCase 的现有文件时,必须先检出这些文件才能覆盖它们。导入一检测到检入至 ClearCase 的文件,就会出一个警告框,询问您是否想要尝试检出特定文件。如果单击“全部都是”按钮,WebSphere Studio 将尝试以静默方式检出指定文件及它后来在导入操作期间遇到的任何其它检入文件。
当您创建新的 J2EE 项目(包括 Java、企业应用程序、Web、EJB、应用程序客户机和连接器项目)时,不能使用已由工作台中的另一项目使用的项目位置。如果选择由另一项目使用的项目位置,该向导将显示“无效项目描述”错误对话框或消息。如果在接收到此消息后通过单击浏览按钮选择有效的项目位置,项目创建仍不会完成。变通方法是单击取消并重新打开项目创建向导。
当运行任何 J2EE 或 EJB Ant 任务时,使用 com.ibm.etools.j2ee.ant.RunAnt 应用程序而不是 org.eclipse.ant.core.antRunner 应用程序。
使用 RunAnt 有两个优点:
- 在执行指定的构建文件之后会保存工作空间。
- 在 Linux 上,在 Ant 脚本执行期间禁用自动构建来作为一种性能增强,并且修正对 org.eclipse.ant.core.antRunner 的已知限制。
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.