Grails部署 = war + Tomcat + MySQL

今天搞了一下Grails项目的部署,准确的说,部署操作和Grails无关,因为可以很方便的打成war包,就可以放在标准的Java容器里了。

步骤:
1. 用grails命令行或IDEA里直接点按钮,就可以打成war包。这里有个方便之处是,所有以plugin存在的第三方包,都会自动打到war包里,相当方便。当然这导致war包也高达30多M,应该有地方可以配置只打程序的部分。

2. 以lib形式的包默认不会进入war,比如mysql的驱动。可以手工拷贝到TOMCAT_HOME/lib目录下。

3. 把war丢到TOMCAT_HOME/webapps下,一切都那么简单

简单是简单,但也要小心
1. 首先是mysql默认不允许远程访问,因为在开发的时候,datasource用的url是localhost,没发现这个问题。当该为具体的ip地址时,[color=darkred]即使从本机,也无法访问mysql[/color]。
开放远程权限:
[color=blue]use mysql;
select host, user,password from user;
+------------+------+----------+
| host | user | password |
+------------+------+----------+
| localhost | root | |
| aliyun.bit | root | |
| 127.0.0.1 | root | |
| localhost | | |
| aliyun.bit | | |
+------------+------+----------+
grant all privileges on *.* to 'root'@'%' identified by '1234' with grant option;[/color]

2. 其次就是坑爹的mysql驱动,开始windows和linux的应用死活起不来,如果使用内存数据库就可以启动。于是我定位应该是和mysql的连接问题。
[color=darkblue]Jan 9, 2013 9:40:39 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart[/color]

其实早应该想到是驱动的jar没有包括进来,但是mac系统中,我并没做这个步骤(也没有设置classpath),也能启动成功,让我误以为是其它问题。

后来经过反复筛查发现,mac的驱动藏在这个目录下(竟然不是JAVA_HOME/lib)
macBook-Pro:Extensions xxx$ pwd
/Library/Java/Extensions
macBook-Pro:Extensions xxx$ ls
mysql-connector-java-5.1.22-bin.jar
(mac的目录结构真的好烦人,还有大写。。。)

这才想到把驱动丢到win和linux的tomcat里试试,一下就通了。
D:\develop\JAVA\TOMCAT\apache-tomcat-7.0.34\lib
mysql-connector-java-5.1.22-bin.jar


3. 因为部署不能debug,也是导致排查问题只能一次次的尝试。。。。


附上三个系统的环境变量,其实都一样。
macBook-Pro:Extensions xxx$ env |grep HOME
GRAILS_HOME=/Library/Java/grails-2.1.2
TOMCAT_HOME=/usr/local/apache-tomcat-7.0.34
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home
MYSQL_HOME=/usr/local/mysql

[cccc@dell ~]$ env |grep HOME
GRAILS_HOME=/home/calvin/grails-2.1.1
TOMCAT_HOME=/home/calvin/apache-tomcat-7.0.34
JAVA_HOME=/home/calvin/jdk1.7.0_09

[color=red]GRAILS_HOME也是需要的,相当于j2ee、spring、hibernate等包都在里面了,这倒是简化了对第三方Jar的管理。[/color]


[img]http://dl.iteye.com/upload/attachment/0079/0893/2f52fcdd-8fcf-3a10-bc12-c25f06a3ec84.jpg[/img]
这忙忙碌碌的一天,3台本本,3种OS:mac 、 thinkpad+windows、 dell+redhat
哈哈,总结就是mac是天使脸蛋(UI漂亮)魔鬼身材(内核又是类unix的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值