一. 下载GlassFish
截止我写这篇文章时(20161009),GlassFish 4.1.1在处理Json会报空指针错误。
这个原因已被官方发现,将在下一版纠正。详情可以去Github上搜索。
所以建议各位在学习使用GlassFish时使用4.1.0版本,甚至是4.0.0版本。
建议下载图中的文件。点我下载
二. 配置Domain
1. 新增Domain
Windows 下,解压 ZIP 包到X:\glassfish3下,Unix/FreeBSD解压至 /usr/local/glassfish3 目录下,Windows进入GlassFish的bin目录运行asadmin,FreeBSD下运行./asadmin,进入GlassFish控制台,Windows 和 FreeBSD 的 asadmin 的进入只是形式的不同,本质没区别。
# 创建一个domain (ZIP 解压开,已经默认有一个 domain1),另:在修改了管理员名称后会提示设置密码,否则会略过设置密码。
create-domain domain1
# 删除一个domain,若有文件需要备份删除前请检查清楚,因为整个 domain 目录会被直接端掉,而且没有回收站。
delete-domain domain1
# 启动一个domain
start-domain domain1
# 停止一个domain
stop-domain domain1
默认GlassFish只有domain1,domain2是我复制了一份domain1,然后更改文件夹名称为domain2的。
只复制domain1文件夹是不行的,还需要更改domain配置。
用文本编辑器打开这个文件。
查找domain1,更改为domain2即可。主要更改以下两个位置。
如果还想更改默认端口号,那就查找8080,更改你想要的端口,比如80
改完配置后保存文件即可。
另一种办法是进WEB页面进行配置。http://localhost:4848/ (默认管理端口4848)
2. 启动GlassFish
- 进入GlassFish目录
- 启动domain
- 关闭domain
三. 部署WebApplication
1. Web部署
- 打开管理页面
- 选择部署应用
- 上传应用
点击OK就完成部署了。
- 测试应用
点击上图中的Launch来启动应用
然后就可以访问网址来测试了。例如:
2. 自动部署(AutoDeploy)
简单到不能再简单,将项目中生成的artifacts目录下的文件夹拷贝到domains/domain2/autodeploy即可
3. 更新部署
- Web更新部署
同第一次部署,类似,不再赘述。
- 自动更新部署
还是将项目生成的artifacts目录下的文件夹拷贝到domains/domain2/autodeploy。
然后删除 autodeploy.autodeploystatus 下和你项目 artifacts 名称相同的文件。
稍后GlassFish会自动重新部署这个应用。简单吧。
三. 自定义地址
在web\WEB-INF文件夹下新建 glassfish-web.xml文件。
在里面填写内容:
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTDGlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"><glassfish-web-app> <context-root>/restdemo</context-root></glassfish-web-app>
以后访问地址就变为:http://127.0.0.1:8080/restdemo/hello
不受artifacts名称的影响了。
四.报错排查
1. WELD-001414
org.jboss.weld.exceptions.DeploymentException: WELD-001414 Bean name is ambiguous. Name JerseyClassAnalyzer resolves to beans: [Managed Bean [class org.glassfish.jersey.internal.inject.JerseyClassAnalyzer] with qualifiers [@Default @Named @Any], Managed Bean [class org.glassfish.jersey.internal.inject.JerseyClassAnalyzer] with qualifiers [@Default @Named @Any]]
看到这个错误,我是一脸懵逼啊。怎搞的,按照新建向导一步一步创建的项目啊,连Hello World也跑不起来。。。
嗯,回想一下,创建向导。。问题就出现在创建项目的引导页上。
按照上图设置,千万不要选Download,否则呵呵不断的报上面懵逼的错误代码。。。。。
(白白浪费了我一个下午,就为了一个Hello World啊)。
作者:Thresh0ld
链接:http://www.jianshu.com/p/a454ab6a7fd9