为了知道构建应用程序的版本号,我们使用我们为Glassfish名称部署的内容,例如myapp_2012-01-20_rev22123.ear。然后我们可以简单地登录到Glassfish并查看Web界面中部署的版本(因为appname是ear文件的名称)。这种方法的缺点是我们需要手动取消部署/重新部署来更新名称......
但是我想编写一个undeploy / deploy进程的脚本,让每个版本的ear获得一个不同的名称并不适合编写这个重新部署过程的脚本。 Glassfish 2不支持Glassfish 3具有的“列表应用程序”目标,我可以使用它来检索应用程序名称以取消部署。
那么是否有任何好的策略可以让我们轻松地查看应用程序部署的版本,并且不会遇到上述错误?
如果这意味着我们不必更改现有应用程序(例如添加jsp页面或显示当前scm修订版本的内容),那将是更可取的,但是Maven构建脚本中的更改是可以接受的。
答案 0 :(得分:2)
我遇到了类似的问题,我终于通过使用maven-buildnumber-plugin
并编写一个简单的servlet来获取构建信息。您可以在the blog post I made。
答案 1 :(得分:1)
为什么不使用内置的GlassFish Server版本控制在部署时分配版本号?这也将使您能够回滚到以前的版本。例如:
asadmin deploy --name MyApplication:2012-01-20_rev22123 MyApplication.ear
有关应用程序版本控制的更多信息:
http://docs.oracle.com/cd/E18930_01/html/821-2417/gihzx.html#gkhhv
希望这有帮助。