最近在研究SUN公司的PETSTORE开源项目,我是这样做的:
我下的是sun公司的最新版javapetstore-2.0-ea5-installer.rar 我用的是:
1、apache-ant-1.7.0-src.zip
2、MyEclipse_6.0.1GA_E3.3.exe
3、glassfish 2.x
4、jDK5
ant 的安装:http://www.zhuoda.org/idiot/17881.html 一定要设好路径。我装在D:ant-1.7.0(ANT_HOME)
glassfish安装:http://www.blogjava.net/kukoo/archive/2006/07/20/59160.html
glassfish-installer.rar 要用在命令行下输入如下:
java -Xmx256m -jar glassfish-installer.rar 打开,Accept后我解压放在了D:glassfish
进入cmd 界面 D:glassfish>ant -f setup.xml build success 后服务器就安装好了
第二步:新建工程, 首先将下载到D盘的javapetstore-2.0-ea5-installer.rar 在cmd下命令行下解压:
cmd下 D:> java -Xmx256m -jar javapetstore-2.0-ea5-installer.rar
D盘下生成javapetstore-2.0-ea5-installer文件
在MyEclipse 中新建一个空web project 我建的是(pet)要注意的是:
pet 项目的 src folder 设为:src\java web root folder 设为:web
j2ee specification level 选J2EE5。0
再点在pet上右击import从文件系统导入D:javapetstore-2.0-ea5-installer下的所有东西
为项目导入外部jar文件:D:\javapetstore-2.0-ea5-installer\lib \**.jar (。zip 我也选上了),
为项目加入 JSF 支持:导入jsf框架,最好先把 pet项目下: pet/web/WEB-INF/ 下的两个文件:
faces-config.xml 和 sun-web.xml 改个名字备份一下,当jsf 框架导入以后再还原回来。免得被覆盖了。 第三步:修改部份文件。
1。pet/bp-project/app-server.properties 中有一行:
javaee.home=c:/Sun/SDK 改为 javaee.home=D:/glassfish (D:/glassfish是我的glassfish服务器安装目录)
2。pet/bp-project/build.properties 中有两行:
javaee.home=c:/Sun/AppServer 改为 javaee.home=D:/glassfish (D:/glassfish是我的服务器安装目录,大家也要改成自己的安安装目录)
javaee.server.passwordfile=“{javaee}/samples/....”改为 javaee.home=D:/1.txt (D:/glassfish是我的服务器安装目录,大家也要改成自己的安装目录)
并在D:盘下建一个1.txt 文件 里面的内容为一句话:AS_ADMIN_PASSWORD=adminadmin
第四步:发布
1、打开glassfish服务器,这个可以用myeclipse打开。
2、发布 war 文件 在myeclipse中以ant Editor方式打开 pet\build.xml 然后运行它的default[default] 任务. 在workSpace中的pet/dist/下面就应该已经生成了petstore.war文件。将它copy到服务器下:D:\glassfish\domains\domain1\autodeploy\下
这个时候就会以下抛出异常:
2008-6-19 17:43:25com.sun.enterprise.server.ondemand.SystemAppLoader loadSystemApps
信息: About to load the system app: __ejb_container_timer_app
2008-6-19 17:43:25 com.sun.ejb.containers.ContainerFactoryImpl createContainer
严重: EJB5090: Exception in creating EJB container [java.lang.ClassNotFoundException: com.sun.ejb.containers.TimerMigrationBean649625130_ConcreteImpl]
2008-6-19 17:43:25 com.sun.ejb.containers.ContainerFactoryImpl createContainer
严重: appId=__ejb_container_timer_app moduleName=ejb_jar ejbName=TimerMigrationBean
2008-6-19 17:43:25 com.sun.enterprise.server.AbstractLoader loadEjbs
严重: LDR5004: UnExpected error occured while creating ejb container
java.lang.ClassNotFoundException: com.sun.ejb.containers.TimerMigrationBean649625130_ConcreteImpl
at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:697)
at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:595)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:407)
at com.sun.ejb.containers.EntityContainer.<init>(EntityContainer.java:235)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:643)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:486)
at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:183)
at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:113)
at com.sun.enterprise.server.AbstractManager.loadOneSystemApp(AbstractManager.java:319)
at com.sun.enterprise.server.ondemand.SystemAppLoader.loadSystemApps(SystemAppLoader.java:109)
at com.sun.enterprise.server.ondemand.EjbServiceGroup.loadSystemApps(EjbServiceGroup.java:163)
at com.sun.enterprise.server.ondemand.EjbServiceGroup.start(EjbServiceGroup.java:122)
at com.sun.enterprise.server.ondemand.ServiceGroup$1.run(ServiceGroup.java:180)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.enterprise.server.ondemand.ServiceGroup.startChildren(ServiceGroup.java:177)
然后MYECLIPES中的CONSOLE里会不断的刷新!!最后给我提示,我的SERVER被REJECTED了!
我去GOOGLE了,找到了一个很接近的答案,但我不知道这位仁兄说的这个东西去glassfish服务器的哪个文件里改,他的回复如下:
I didn't realize that SJSAS 9.1 switched the default from the local OpenMQ to the embedded OpenMQ. Changing the server's configuration to use <tt>LOCAL</tt> for JMS eliminated the error.
Should the inability of the <tt>EMBEDDED</tt> mode of OpenMQ to support serializable <tt>TemporaryDestination</tt>s be considered a bug?
我大致知道这个异常跟TIMER有关系?但是glassfish研究了N天了,还是没有CONSOLE。希望大家帮帮忙,不胜感谢。
我下的是sun公司的最新版javapetstore-2.0-ea5-installer.rar 我用的是:
1、apache-ant-1.7.0-src.zip
2、MyEclipse_6.0.1GA_E3.3.exe
3、glassfish 2.x
4、jDK5
ant 的安装:http://www.zhuoda.org/idiot/17881.html 一定要设好路径。我装在D:ant-1.7.0(ANT_HOME)
glassfish安装:http://www.blogjava.net/kukoo/archive/2006/07/20/59160.html
glassfish-installer.rar 要用在命令行下输入如下:
java -Xmx256m -jar glassfish-installer.rar 打开,Accept后我解压放在了D:glassfish
进入cmd 界面 D:glassfish>ant -f setup.xml build success 后服务器就安装好了
第二步:新建工程, 首先将下载到D盘的javapetstore-2.0-ea5-installer.rar 在cmd下命令行下解压:
cmd下 D:> java -Xmx256m -jar javapetstore-2.0-ea5-installer.rar
D盘下生成javapetstore-2.0-ea5-installer文件
在MyEclipse 中新建一个空web project 我建的是(pet)要注意的是:
pet 项目的 src folder 设为:src\java web root folder 设为:web
j2ee specification level 选J2EE5。0
再点在pet上右击import从文件系统导入D:javapetstore-2.0-ea5-installer下的所有东西
为项目导入外部jar文件:D:\javapetstore-2.0-ea5-installer\lib \**.jar (。zip 我也选上了),
为项目加入 JSF 支持:导入jsf框架,最好先把 pet项目下: pet/web/WEB-INF/ 下的两个文件:
faces-config.xml 和 sun-web.xml 改个名字备份一下,当jsf 框架导入以后再还原回来。免得被覆盖了。 第三步:修改部份文件。
1。pet/bp-project/app-server.properties 中有一行:
javaee.home=c:/Sun/SDK 改为 javaee.home=D:/glassfish (D:/glassfish是我的glassfish服务器安装目录)
2。pet/bp-project/build.properties 中有两行:
javaee.home=c:/Sun/AppServer 改为 javaee.home=D:/glassfish (D:/glassfish是我的服务器安装目录,大家也要改成自己的安安装目录)
javaee.server.passwordfile=“{javaee}/samples/....”改为 javaee.home=D:/1.txt (D:/glassfish是我的服务器安装目录,大家也要改成自己的安装目录)
并在D:盘下建一个1.txt 文件 里面的内容为一句话:AS_ADMIN_PASSWORD=adminadmin
第四步:发布
1、打开glassfish服务器,这个可以用myeclipse打开。
2、发布 war 文件 在myeclipse中以ant Editor方式打开 pet\build.xml 然后运行它的default[default] 任务. 在workSpace中的pet/dist/下面就应该已经生成了petstore.war文件。将它copy到服务器下:D:\glassfish\domains\domain1\autodeploy\下
这个时候就会以下抛出异常:
2008-6-19 17:43:25com.sun.enterprise.server.ondemand.SystemAppLoader loadSystemApps
信息: About to load the system app: __ejb_container_timer_app
2008-6-19 17:43:25 com.sun.ejb.containers.ContainerFactoryImpl createContainer
严重: EJB5090: Exception in creating EJB container [java.lang.ClassNotFoundException: com.sun.ejb.containers.TimerMigrationBean649625130_ConcreteImpl]
2008-6-19 17:43:25 com.sun.ejb.containers.ContainerFactoryImpl createContainer
严重: appId=__ejb_container_timer_app moduleName=ejb_jar ejbName=TimerMigrationBean
2008-6-19 17:43:25 com.sun.enterprise.server.AbstractLoader loadEjbs
严重: LDR5004: UnExpected error occured while creating ejb container
java.lang.ClassNotFoundException: com.sun.ejb.containers.TimerMigrationBean649625130_ConcreteImpl
at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:697)
at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:595)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:407)
at com.sun.ejb.containers.EntityContainer.<init>(EntityContainer.java:235)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:643)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:486)
at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:183)
at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:113)
at com.sun.enterprise.server.AbstractManager.loadOneSystemApp(AbstractManager.java:319)
at com.sun.enterprise.server.ondemand.SystemAppLoader.loadSystemApps(SystemAppLoader.java:109)
at com.sun.enterprise.server.ondemand.EjbServiceGroup.loadSystemApps(EjbServiceGroup.java:163)
at com.sun.enterprise.server.ondemand.EjbServiceGroup.start(EjbServiceGroup.java:122)
at com.sun.enterprise.server.ondemand.ServiceGroup$1.run(ServiceGroup.java:180)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.enterprise.server.ondemand.ServiceGroup.startChildren(ServiceGroup.java:177)
然后MYECLIPES中的CONSOLE里会不断的刷新!!最后给我提示,我的SERVER被REJECTED了!
我去GOOGLE了,找到了一个很接近的答案,但我不知道这位仁兄说的这个东西去glassfish服务器的哪个文件里改,他的回复如下:
I didn't realize that SJSAS 9.1 switched the default from the local OpenMQ to the embedded OpenMQ. Changing the server's configuration to use <tt>LOCAL</tt> for JMS eliminated the error.
Should the inability of the <tt>EMBEDDED</tt> mode of OpenMQ to support serializable <tt>TemporaryDestination</tt>s be considered a bug?
我大致知道这个异常跟TIMER有关系?但是glassfish研究了N天了,还是没有CONSOLE。希望大家帮帮忙,不胜感谢。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货