对 Glassfish 5 的 Eclipse 支持

Eclipse support for Glassfish 5

有谁知道不久的将来 Eclipse 中是否会支持 GlassFish 5(GlassFish 工具支持 3.1 和 4.x)?

除了 GlassFish Tools 之外,还有其他方法可以将 Glassfish 集成到 Eclipse 中吗?

遗憾的是,目前尚无支持,但您可以构建您的 JavaEE 应用程序(EAR,WAR)获取 .war|ear 文件并将其粘贴到

[GF_LOCATION]\glassfish5\glassfish\domains\[DOMAIN]\autodeploy\

然后前往[GF_LOCATION]\glassfish5\bin\

打开终端并运行:

asadmin start-domain [DOMAIN]

如果您已正确配置您的应用程序,您应该能够在本地访问您的应用程序,例如:

localhost:8080/YourApp/

如果您需要 datasourceconnection_pool,那么从 bin 中,运行:

asadmin add-resources [location_to_you_app's_glassfish-resources.xml]

这应该将 GF5 中所需的配置添加到 运行 您的应用程序。

备选方案

使用 Netbeans,我已经能够在 Netbeans 中配置 Glassfish 5。不幸的是,当前版本 8.2 还没有 JavaEE 8 检测和自动文件完成功能,因此如果您打算使用 JSF 2.3,Servlet 4.0, etc ...,则必须手动添加此配置,但至少您可以配置和 运行 您从 IDE 到 Glassfish 5 的应用程序。

GlassFish 工具仅检查版本如下:

Version version = getVersion();

if (!version.matches("[3.1-5)")) {
    return new Status(Status.ERROR, GlassfishToolsPlugin.SYMBOLIC_NAME, Messages.unsupportedVersion);
}

其中 getVersion() 是通过阅读 [install dir]/glassfish/modules/glassfish-api.jar!META-INF/MANIFEST.MFBundle-Version 条目获得的。

因此,让 Eclipse 与 GlassFish 5 和 Payara 5 一起工作的一种 hacky 方法是:

  1. cd [安装目录]/glassfish/modules/
  2. mkdir META-INF
  3. unzip -p glassfish-api.jar META-INF/MANIFEST.MF > META-INF/MANIFEST.MF
  4. vim META-INF/MANIFEST.MF
  5. 将 Bundle-version 更改为以 4 开头并确保数字均为单个数字(即 181 应变为 0 左右)
  6. zip -u glassfish-api.jar META-INF/MANIFEST.MF

现在您可以像往常一样为 GlassFish 5 和 Payara 5 添加运行时和服务器,然后启动、调试、部署等。

为了说明,要更改的条目如下所示:

Bundle-Name: Public APIs of Glassfish
Bundle-Version: 5.181.0.Alpha4-SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Build-Jdk: 1.8.0_144

应该变成:

Bundle-Name: Public APIs of Glassfish
Bundle-Version: 4.0.0.Alpha4-SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Build-Jdk: 1.8.0_144

GlassFish 工具目前正在提议捐赠给 Eclipse,因此可能需要一段时间才能更新。同时,我计划不久后创建一个带有一些额外增强功能的衍生版本,但这也可能需要一些时间。

通过Oracle将payara5与Eclipse 4.7.1a集成"GlassFish Tools"我想在文件\payara5\glassfish\modules\glassfish-api.jar中修改文件META-INF\MANIFEST.MF内容末尾如下:

...;版本="4.0.0" Bundle-Name:Public Glassfish API 捆绑版本:4.0 创建者:Apache Maven Bundle Plugin 构建-Jdk:1.8.0_152

Eclipse Oxygen.3a (4.7.3a) 现在支持 Glassfish 5

对于 Eclipse 光子用户,请检查我的问题和选择的答案