对 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/
如果您需要 datasource
和 connection_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.MF
和 Bundle-Version
条目获得的。
因此,让 Eclipse 与 GlassFish 5 和 Payara 5 一起工作的一种 hacky 方法是:
- cd [安装目录]/glassfish/modules/
- mkdir META-INF
- unzip -p glassfish-api.jar META-INF/MANIFEST.MF > META-INF/MANIFEST.MF
- vim META-INF/MANIFEST.MF
- 将 Bundle-version 更改为以
4
开头并确保数字均为单个数字(即 181 应变为 0 左右)
- 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 光子用户,请检查我的问题和选择的答案
有谁知道不久的将来 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/
如果您需要 datasource
和 connection_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.MF
和 Bundle-Version
条目获得的。
因此,让 Eclipse 与 GlassFish 5 和 Payara 5 一起工作的一种 hacky 方法是:
- cd [安装目录]/glassfish/modules/
- mkdir META-INF
- unzip -p glassfish-api.jar META-INF/MANIFEST.MF > META-INF/MANIFEST.MF
- vim META-INF/MANIFEST.MF
- 将 Bundle-version 更改为以
4
开头并确保数字均为单个数字(即 181 应变为 0 左右) - 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 光子用户,请检查我的问题和选择的答案