初学glassfish(1)--安装并准备开发环境
首先从 下载 安装开发,学习如何搭建glassfish的开发环境。
一. 下载安装运行
1) 下载
从官网https://glassfish.dev.java.net/public/downloadsindex.html下载,目前最新的 release版本是GlassFish Server v2 Update Release 2 (UR2)。v3只有
Prelude版本,正式的v3估计要到09年一季度。我下载的是glassfish-installer-v2ur2-b04-windows.jar的版本,54M而已,比weblogic小太多了。
2) 安装
安装方式遵循官方建议(https://glassfish.dev.java.net/downloads/v2ur2-b04.html中的"Instructions to unbundle and configure GlassFish")
1. copy 下载的文件到要安装的目录,比如c:/soft
2. 执行java -Xmx256m -jar filename.jar
按照安装程序的提示进行。
3. 运行ant脚本 lib/ant/bin/ant -f setup.xml
4. 完成后,在原目录下会出现一个glassfish目录,所有文件都在里面
在安装前请先确保jdk已经正确安装,JAVA_HOME属性设置正确.
3) 系统配置
1. 将install-dir/bin加入到Path路径
2. 添加新的环境变量 AS_ADMIN_USER,并将其设置为在安装过程中指定的管理员用户名。
这个是sun的快速入门指南中的要求,但是实际操作中发现不设置也可以正常启动glassfish。
4) 运行
需要使用到glassfish/bin/目录下的asadmin.bat。
方法1) 直接鼠标双击,弹出窗口中输入start-domain domain1,如果成功会看到启动信息。
方法2) 运行 -> cmd 进入命令行,进入glassfish/bin目录,执行asadmin start-domain domain1
5) 检验
打开浏览器访问http://localhost:8080/,或者访问glassfish的console http://localhost:4848/.
6) 以下信息是glassfish安装后的默认配置
domain.name=domain1
instance.name=server
admin.user=admin
admin.password=adminadmin
admin.port=4848
instance.port=8080
orb.port=3700
imq.port=8686
https.port=8181
二. eclipse的glassfish插件
eclipse的glassfish插件的下载安装可以参考官方文档,基本照着做就可以了。
https://glassfishplugins.dev.java.net/eclipse34/index.html
三.搭建自己的开发环境
1. 新建admin用户
使用默认的用户名密码admin/adminadmin登录console,在Configuration -> Security -> Realms -> admin-realm 下点"manager users",添加自己需要的新admin用户。
示例如下:
User ID = sigadmin
Group List = asadmin
password = sigadmin
2. 新建开发需要使用的domain
默认安装时会建立domain1,为了方便我们需要自行建立属于自己的domain,尤其对于公司团队开发,往往一台开发机器上安装一个glassfish,不同开发人员每人都有属于自己的domain来开发测试。
2.1) create domain
执行以下命令:
asadmin create-domain --user sigadmin -e --passwordfile=password.properties --portbase 34000 --profile developer domain_340
其中--passwordfile=password.properties指明密码文件,否则asadmin命令会以交互方式要求输入相应密码。password.properties文件内容如下:
AS_ADMIN_PASSWORD=sigadmin
AS_ADMIN_ADMINPASSWORD=sigadmin
AS_ADMIN_USERPASSWORD=sigadmin
AS_ADMIN_MASTERPASSWORD=sigadmin
--portbase 34000指定当前新建的domian的portbase,--portbase 34000的意思就是该domain的各个端口以34000为基数增加,从日志中可以看到:
Using port 34048 for Admin.
Using port 34080 for HTTP Instance.
Using port 34076 for JMS.
Using port 34037 for IIOP.
Using port 34081 for HTTP_SSL.
Using port 34038 for IIOP_SSL.
Using port 34039 for IIOP_MUTUALAUTH.
Using port 34086 for JMX_ADMIN.
和前面默认建立的domain1的端口对照,可以看到基本是每个端口都有一个基数,然后加portbase就得到最终使用的端口好。
Admin 34048 4848 48
HTTP Instance 34080 8080 80
JMS 34076
IIOP 34037 3700 37
HTTP_SSL 34081 8181 81
IIOP_SSL 34038
IIOP_MUTUALAUTH 34039
JMX_ADMIN 34086 8686 86
使用--portbase比较方便记忆,推荐这样使用,避免逐个指定不同端口。为了方便记忆,domain的名字取名为domain_340以对应。
2.2)start domain
执行命令:
asadmin start-domain -e --passwordfile=password.properties domain_340
2.3) stop domian
执行命令:
asadmin stop-domain -e domain_340
2.4) delete domain
执行命令:
asadmin delete-domain -e domain_340
注意必须在domain处于stop的情况下才能delete。
为了方便,提供一个简单的ant脚本处理以上命令,直接通过exec来调用asadmin.bat:
ant.build
<? xml version="1.0" encoding="UTF-8" ?>
< project name ="GfAsadminDemo" default ="listDomains" >
< description > demo of how to use adadmin command </ description >
< property file ="build.properties" />
< target name ="listDomains" >
< exec executable ="asadmin.bat" >
< arg line ="list-domains -e" />
</ exec >
</ target >
< target name ="createDomain" >
< echo > begin to create domain ${domain.name} </ echo >
< exec executable ="asadmin.bat" dir ="." failifexecutionfails ="true" >
< arg line ="create-domain --user ${AS_ADMIN_USER} -e --passwordfile=password.properties --portbase ${domain.baseport} --profile developer ${domain.name}" />
</ exec >
< echo > finish to create domain ${domain.name} </ echo >
</ target >
< target name ="startDomain" >
< echo > begin to start domain ${domain.name} </ echo >
< exec executable ="asadmin.bat" dir ="." failifexecutionfails ="true" >
< arg line ="start-domain -e --passwordfile=password.properties ${domain.name}" />
</ exec >
< echo > finish to start domain ${domain.name} </ echo >
</ target >
< target name ="stopDomain" >
< echo > begin to stop domain ${domain.name} </ echo >
< exec executable ="asadmin.bat" dir ="." failifexecutionfails ="true" >
< arg line ="stop-domain -e ${domain.name}" />
</ exec >
< echo > finish to stop domain ${domain.name} </ echo >
</ target >
< target name ="deleteDomain" >
< echo > begin to delete domain ${domain.name} </ echo >
< exec executable ="asadmin.bat" dir ="." >
< arg line ="delete-domain -e ${domain.name}" />
</ exec >
< echo > finish to delete domain ${domain.name} </ echo >
</ target >
</ project >
build.properties
domain.baseport=34000
AS_ADMIN_USER=sigadmin
<script> <!-- var Modified = new Date(document.lastModified); var copyright = document.getElementById("xspace-copyright"); if(copyright) { copyright.innerHTML += "Last update: <a href=/"http://blog.zdnet.com.cn/index.php?uid/433392/action/viewspace/itemid/2885184/php/1/" title=/"点击可以立即更新本页面/">"+(Modified.getYear()<200?(Modified.getYear()+1900):Modified.getYear())+"-"+(Modified.getMonth()+1)+"-"+Modified.getDate()+" "+Modified.getHours()+":"+Modified.getMinutes()+":"+Modified.getSeconds() + "</a><br>"; } document.write('<script src="http://blog.zdnet.com.cn/batch.html.php?code=http%253A%252F%252Fblog.zdnet.com.cn%252Findex.php%253Fuid%252F433392%252Faction%252Fviewspace%252Fitemid%252F2885184%2F1256872687%2F300%2F433392%2F2885184%2Fviewspace&lastmodified=' + Modified.getTime() + '" type="text//javascript" language="javascript"><//script>'); //--> </script> <script src="http://blog.zdnet.com.cn/batch.html.php?code=http%253A%252F%252Fblog.zdnet.com.cn%252Findex.php%253Fuid%252F433392%252Faction%252Fviewspace%252Fitemid%252F2885184%2F1256872687%2F300%2F433392%2F2885184%2Fviewspace&lastmodified=1256883255000" type="text/javascript"></script>