若干天来,就是无法把这个roster项目部署到glassfish4服务器上。按照javaeetutorial7.pdf文档上说的,要在/examples/persistence/roster/roster-ear/目录下执行mavin install命令,这个行不通。 按照Oracle网站的网络版The Java EE 7 Tutorial(网址http://docs.oracle.com/javaee/7/tutorial/doc/persistence-basicexamples002.htm#GIQSQ)的说法是在/examples/persistence/roaster/目录下执行maven install命令,这样做是可以成功的!
除此之外,还需要修改/examples/persistence/roster/roster-ear/目录下的pom.xml文件(我是这样做的,不过我想也许还有其他办法解决)。把下面这一行代码修改一下:
<version>${maven.exec.plugin.version}</version>
把它修改成:
<version>1.3</version>
在默认情况下,可能会下载1.2.1版本的exec-maven-plugin,最新版本是1.3.1版本,但我用1.3.1版本没有成功。因为这个设置出现在pom.xml文件中,可以选择版本设置。其他的插件版本选择,好像不受控制,至少我不知道如何控制。此后手动下载了maven-surefire-plugin\2.7.2\maven-surefire-plugin-2.7.2.jar,和 mvn-ear-plugin\2.8,也许用不着手动下载,将原有目录删除以后,maven可以自动下载这些有关的jar文件和xml文件。但如果网络速度太慢或者其他偶然因素导致文件坏损,还是需要手动下载以后覆盖坏损文件。
其他几个项目无法正常运行的原因,和roster项目差不多。需要略加修改,也许这就是javaee的特色吧!-----总是留一个尾巴!