前言

Glassfish是一款由Sun公司开发的(现由甲骨文公司赞助)开源的免费的应用服务器,它既是EJB容器也是WEB容器。Glassfish支持最新版的Java EE标准。

Glassfish与Tomcat的区别

Tomcat只是WEB容器,并不支持EJB,而Glassfish既是WEB容器也是EJB容器。

Glassfish的安装

首先去Glassfish的官网https://javaee.github.io/glassfish/下载Full Platform版本的Glassfish文件压缩包(见图1),下载完成之后解压压缩包到自定义的文件夹路径(见图2),然后复制Glassfish文件夹下Bin文件夹的路径,在系统Path环境变量中添加此路径(见图3),安装完成。

图1

图2

图3

Glassfish的启动和停止

在安装完成之后,打开命令行,输入asadmin start-domain即可启动默认的domain1容器(见图4)。

图4

在控制台输入stop-domain即可停用默认的domain1容器(见图5)。

图5

备注:1、可以直接输入asadmin回车进入命令持续输入状态;

2、可以在start-domain/stop-domain后面加容器名启动/停止指定容器。

应用的部署和下线

Glassfish部署和下线应用有两种方式:admin控制台和命令行,流程如下:

admin控制台:
#部署应用:打开浏览器,在地址栏输入localhost:4848(domain1默认admin端口)回车,进入admin控制台,点击Deploy an Application(见图6),选择你导出的项目包之后点击OK即可部署完成(见图7)。

#下线应用:在admin主页面点击List Deployed Applications,此时Glassfish会展示所有部署的应用,选中你想下线的应用包,点击Undeploy即可下线应用。(见图8)

图6

图7

命令行:
#部署应用:打开CMD,输入asadmin deploy +项目包绝对路径(见图8)即可部署完成。

#下线应用:在CMD里输入adadmin undeploy +项目包名称(见图9)即可下线成功。

图8

图9

常见问题

错误1:PWC6199: Generated servlet error:

源值1.5已过时, 将在未来所有发行版中删除

原因:因为Glassfish默认使用的JDK版本是1.5,但是我们一般使用的JDK都是1.8及以上,所以会不匹配,需要我们在配置文件里自行定义JDK版本。

解决办法:我们打开Glassfish安装目录下的glassfish5\glassfish\domains\domain1\config文件夹里的default-web.xml文件,找到345行,在下面添加如下代码:

<init-param>

<param-name>compilerSourceVM</param-name>

<param-value>1.8</param-value>

</init-param>

<init-param>

<param-name>compilerTargetVM</param-name>

<param-value>1.8</param-value>

</init-param>

添加完成之后保存重启服务器即可。

错误2:The resource manager is doing work outside a global transaction

com.mysql.jdbc.jdbc2.optional.MysqlXAException: XAER_OUTSIDE: Some work is done outside global transaction

原因:造成这个问题的原因往往是mysql的驱动版本太低造成的,我们需要在网上下载更高版本的mysql驱动即可,在Glassfish5里我使用的是mysql-connector-java-5.1.14,能够正常工作。

最后

Glassfish里还有很多值得探索的功能,想要了解详情的话大家可以去Glassfish的官网查看官方的文档。此外,本人才疏学浅,如有错误还请见谅及纠正。

GlassFish的安装与使用(Windows)的更多相关文章

  1. 安装redis以windows服务形式

    安装redis以windows服务形式 安装redis以windows服务形式 redis windows windows 服务 以前跑redis,老是要开一个命令行窗口,一旦关闭,redis服务就挂 ...

  2. [转]phoneGap3.0安装步骤(以windows下的android环境为例):

    phoneGap3.0安装步骤(以windows下的android环境为例): 环境: WIN系统,JDK,Android,Eclipse,Ant,Git,PhoneGap3.x (Cordova) ...

  3. an'gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)

    NodeJS.NPM安装配置步骤(windows版本)  :http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ ...

  4. [收藏]win8安装弹出输入的产品密钥与用于安装任何可用windows映像都不匹配

    问题描述: 帮朋友装win8(第一次装大神不要喷我啊)结果到 现在安装 这一步的时候 点击 现在安装 弹出个窗口 说输入的产品密钥与用于安装任何可用windows映像都不匹配.请输入其他产品密钥 解决 ...

  5. 安装 Linux 与 Windows 10 双系统,你需要了解的一切

    该选Windows 10还是Linux Mint?鱼与熊掌当然可以兼得,但咱们得掌握点小技巧才能顺利搞定. Windows 10绝不是唯一一款值得我们安装在自己计算机之上的免费操作系统.Linux只靠 ...

  6. 执行此安装程序之前,必须安装 32 位 Windows 映像处理组件(WIC)解决的方法

    我们在Windows Service 2003上安装 Microsoft .NET Framework4.0时常常出现以下的报错 执行此安装程序之前,必须安装 32 位 Windows 映像处理组件( ...

  7. 【NO.2】Jmeter-安装Jmeter - 在Linux环境安装Jmeter - 在Windows环境安装Jmeter

    当配置完Jmeter运行的环境之后,就可以开始安装Jmeter了. 为什么既要告诉各位"在Linux系统内安装Jmeter",又要告诉各位"在Windows系统内安装Jmeter"?因为当我们在构建1 ...

  8. Windows 10 安装 Docker for Windows

    Docker for Windows是Docker社区版(CE)应用程序. Docker for Windows安装包包括在Windows系统上运行Docker所需的一切. 本主题介绍了预安装注意事项 ...

  9. tensorflow安装过程-(windows环境下)---详解(摆平了很多坑!)

    一, 前言:本次安装tensorflow是基于Python的,安装Python的过程不做说明(既然决定按,Python肯定要先了解啊):本次教程是windows下Anaconda安装Tensorflo ...

随机推荐

  1. Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件

    一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建:   这样一个Django项目就创建完成了,上面可以看 ...

  2. Python数据处理实例

    使用python进行数据处理的实例(数据为某公司HR部门关于员工信息的部分摘录,kaggle上面的一次赛题) https://www.kaggle.com/c/kfru-dbm-hr-analytic ...

  3. Could not find com.android.support:appcompat-v7:23.1.1

    在刚接触Android Studio的时候,这玩意整起来确实费劲,现在接触多了,感觉还好,毕竟还有一段提升的空间,以后的必然趋势,所以还是潜心下来好好搞搞. 废话少说,切入正题. 如图所示的error ...

  4. NOIP Mayan游戏

    描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个7行5列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定的步数内消 ...

  5. Spring 模块

  6. Your app uses or references the following non-public APIs的解决方案

    之前接了一个旧的项目,代码混乱,年代久远,不得不吐槽一波,好不容易改完需求提交代码,说用到了non-public APIs,搞了好久终于找到地方了,下面是我的解决过程,让大家少走弯路: 下面的被驳回的 ...

  7. 记一次如何解决低版本jar包里面的bug,不适宜替换成高版本的经历

    背景:目前正在迭代开发的项目,应用户要求新增一个电子文档转换的功能,即将不标准的excel文件转换为标准的excel文件(标准模板). 选择:pio ,本项目里面本来就有poi的jar包 问题:项目里 ...

  8. TNS-12541: TNS:no listener , TNS-12542: TNS:address already in use

    查看数据库监听状态不对$ lsnrctl status LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - Production on ...

  9. Makefile文件应用——huge项目

    提高复用性 在build目录下,保存公用部分make.rule (1)绝对路径 用ROOT变量保存项目根目录 (2)增加控制变量 EXE/LIB/ (3)头文件查找目录 gcc 的-I(i的大写)选项 ...

  10. angular指令详解--自定义指令

    自定义指令 directive()这个方法是用来定义指令的: angular.module('myApp', []) .directive('myDirective', function ($time ...