这个glassfish开发团队干活就是有这么粗糙,开发个glassfish4没几天就报告证书时效。这个Netbean团队开发个8.0,愣是不区分中文版本和英文版本,选择了下载英文版本,仍然给一个中文版本,害得我找错误修改信息非常困难,毕竟只有少数使用英文的人在使用这个面世多年的Netbean。气愤归气愤,还是把能解决的问题记录下来,以便好抄者过来转帖转发。
我解决glassfish4证书过期的办法是到domains\domain1\config目录下去执行keytool -delete -alias gtecybertrust5ca -keystore cacerts.jks -storepass changeit命令行命令。
接下来要说的是javaee-tutorial, 顺利的例子就不说了,这里要说的是ejb\timersession,这个例子中webapp\WEB-INFO目录下的beans.xml是空的,所以老是报错,打开这个文件,把下面的内容拷贝进去:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
重新编译后,只能保证可以在浏览器中打开一个页面,但是一个错误页面。为此还需要修改同一目录下的web.xml,其中注意下面的代码段:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
把/*修改成*.xhtml。就可以成功地运行了。运行结果如下:
Timer page
The last programmatic timeout was: #{timerManager.lastProgrammaticTimeout}.
The last automatic timeout was: #{timerManager.lastAutomaticTimeout}
Set a programmatic timer here.