我正在将 JSF 1.1 应用程序迁移到 Java EE 6 Web 配置文件,并分步进行。我正在使用 JSF 1.2 的 jsf-facelets.jar 从 JSP 与 JSF 1.1 移动到 JSF 1.2 下的 Facelets,并在尝试使用“{Bean”在 Map 中查找键时收到“有趣的”堆栈跟踪.foo.map.key}”,其中堆栈跟踪抱怨“key”不是有效的整数。(在代码自省之后,我正在使用数字作为键来解决它)。这个错误不是这个问题的内容。
在这种情况下,必须能够导航堆栈跟踪中每一行的源。在 Eclipse 中,我通常将源 jar 附加到构建路径上的每个 jar,但在这种特殊情况下,Glassfish 服务器适配器会自动创建一个包含这些 jar 的库。此外,据我所知,捆绑包中没有包含源的 Glassfish 调试版本。
Glassfish 是一个不平凡的 Maven 项目,也有点挑剔。我对 maven 不是很熟悉,但设法从 Subversion 签出代码并根据http://wiki.glassfish.java.net/Wiki.jsp?page=V3FullBuildInstructions#section-V3FullBuildInstructions-为 3.0 标记构建它CheckoutTheWorkspace——貌似是官方发布的3.0版本对应的代码。
完成“mvn -U install”部分后,我尝试通过首先使用“mvn -DdownloadSources=true eclipse:eclipse”创建 Eclipse 项目,然后将它们导入 Eclipse Java EE 3.5.2 并指定 M2_REPO 变量,但很多的项目仍然存在编译错误,我无法找到 Oracle 提供的有关如何执行此操作的任何说明。
我很感激在获得反映 Glassfish 3.0 版本的功能性 IDE 工作区方面的一些帮助。我有 Eclipse 3.5.2、Netbeans 6.8 和 6.9 beta 以及 IntelliJ IDEA 9,并且 Linux/Windows/OS X 可以做到这一点。