使用 GlassFish 服务器启动项目
idea中使用GlassFish服务器进行测试
1.项目背景
当前在研究openMDM项目, 不过该项目不是springboot项目, 并且是使用GlassFish进行war部署的, 但是需要在idea中进行项目的二次开发,故需要进行idea启动项目并且进行开发和调试
2.GlassFish是什么
GlassFish是一个web服务器, 可以看做和tomcat差不多
3.本地需要安装GlassFish
安装步骤不做展示,自行百度, 例如本地安装的位置为: D:\app_install_path\glassfish-5.1.0\glassfish5
4.在idea中安装 glassfish插件
菜单操作 File -> settings -> plugins -> 搜索 glassfish -> 点击安装 -> 重启idea
5.添加GlassFish应用服务器
菜单操作 File -> settings -> Build,Execution, Deployment -> Application Servers -> 点 + 号 -> 选择 Glassfish server -> 配置 GlassFish Home 为自己的本地地址: 如 D:\app_install_path\glassfish-5.1.0\glassfish5
6.配置项目结构(启动入口)
非 SpringBoot 项目的启动入口是 web.xml,项目在 IDEA 中虽然打开了,
但是它并不能找到项目中的 web.xml 文件,当项目启动时,
不能正常启动,因此需要自己手动配置(暴露)出来。
菜单操作 File -> Project Structure… ,在窗口中选中 Facets 选项,提示 No facets are configured。配置 Facets,点击加号“+”,选择 Web,在Choose Module 窗口会默认加载当前项目,选中后点击 OK 按钮即可。此时,窗口会自动切换到 Module 选项卡下,并选中 Web 选项。在 Deployment Descriptors 中查看 Path 列的值是否为项目启动的入口配置文件 web.xml,如果不对点击下面的修改图标进行修改,确保是配置的是当前项目的 web.xml 文件;查看 Web Resource Directories 区域的 Web Resource Directory 列是否为 web 资源的所在文件的根目录(有的项目是web,有的是WebContent),以上两步配置完成后,在窗口下面会有三角感叹号提示 ‘Web’ Facet resources are not included in an artifact,接下来就要配置 artifact。点击右下角的 Create Artifact 按钮,窗口自动切换到 Artifact 选项卡,并新建了一个 Artifact,在 Out directory 中配置项目部署的目录,在Output Layout 选项卡中,将 Available Elements 列的都加入到 列中,然后点击 Apply 保存配置。配置完成后,在目录结构树上,web 或 WebContent 包上会显示一个蓝色的点,表明此包为动态资源包。以上步骤完成项目在 IDEA 中的结构配置。
7.配置GlassFish
由于非 SpringBoot 项目是不带 Tomcat等服务器的,所以启动需要依赖外置的服务器,当前使用GlassFish。
- 菜单操作 Run -> Edit Configurations,在打开的窗口点击加号“+”(Add New Configuration),选中 GlassFish Server 下的 Local,找到本地的 GlassFish 加入到配置中。
- 然后在接下来的窗口中的 Server 选项卡中配置Server Domain;切换到 Deployment 选项卡,点击 Deploy at the server startup 下的加号“+”(Artifact…),自动加载刚才配置的 Artifact,将 Application context(项目的上下文名称)改成项目的工工程名,然后点击右下角的 Apply 按钮保存设置。
8. 启动项目
参考文章 https://blog.****.net/rizhaozhongtian/article/details/126954570
推荐阅读
-
使用 GlassFish 服务器启动项目
-
使用 git 在服务器(CentOS)上部署项目
-
Linux 服务器 java 项目启动异常缓慢
-
GitBlit 使用钩子保持项目服务器的最新状态
-
网络服务器启动失败。端口 XXX 已被使用。
-
使用 Apache Tomcat 作为 Web 服务器部署 jeecgboot-vue3(V3.4.4) 项目
-
玩转Java底层:JMX详解 - jconsole与自定义MBean监控工具的实际应用与区别" 在日常JVM调优中,我们熟知的jconsole工具通过JMX包装的bean以图形化形式展示管理数据,而像jstat和jmap这类内建监控工具则由JVM直接支持。本文将以jconsole为例,深入讲解其实质——基于JMX的MBean功能,包括可视化界面上的bean属性查看和操作调用。 MBeans在jconsole中的体现是那些可观察的组件属性和方法,如上图所示,通过名为"Verbose"的属性能看到其值为false,同时还能直接操作该bean的方法,例如"closeJerryMBean"。 尽管jconsole给我们提供了直观的可视化界面,但请注意,这里的MBean并非固定不变,开发者可根据JMX提供的接口将自己的自定义bean展示到jconsole。以下步骤展示了如何创建并注册一个名为"StudyJavaMBean"的自定义MBean: 1. 首先定义接口`StudyJavaMBean`,接口需遵循MBean规范,即后缀为"MBean"且包含getter方法代表属性,如`getApplicationName`,和无返回值的setter方法代表操作,如`closeJerryMBean`。 ```java public interface StudyJavaMBean { String getApplicationName(); void closeJerryMBean(); } ``` 2. 编写接口的实现类`StudyJavaMBeanImpl`,实现接口中的方法: ```java public class StudyJavaMBeanImpl implements StudyJavaMBean { @Override public String getApplicationName() { return "每天学Java"; } @Override public void closeJerryMBean() { System.out.println("关闭Jerry应用"); } } ``` 3. 在代码中注册自定义MBean,涉及的关键步骤包括: - 获取平台MBeanServer - 定义ObjectName,指定唯一的MBean标识符 - 注册MBean到服务器 - 启动RMI连接器服务,以便jconsole能够访问 ```java public void registerMBean() throws Exception { // ... 具体实现省略 ... } ``` 实际运行注册后的MBean,您将在jconsole中发现并查看自定义bean的属性和调用相关方法。然而,这种方式相较于传统的属性/日志查看和HTTP接口,实用性相对有限,可能存在潜在的安全风险。但不可否认的是,JMX及其MBean机制对于获取操作系统信息、内存状态等关键性能指标仍然具有重要价值。例如: 1. **获取操作系统信息**:通过JMX MBean,可以直接获取到诸如CPU使用率、操作系统版本等系统级信息,这对于资源管理和优化工作具有显著帮助。
-
如何在服务器上使用Nginx部署前端项目?
-
如何使用Travis CI自动将Github项目的改动部署到服务器上?
-
在Windows上使用rtsp-simple-server搭建流媒体服务器,实现推流和转流的rtsp、rtmp等协议,并在Vue项目中使用html播放hls(m3u8)视频流