1、tomcat闪退
a、环境变量错误
startup.bat最后假如PAUSE进入调试状态,双击startup.bat,可以看到错误,根据错误提示设置相应的环境变量,JAVA_HOME等。
b、eclispe设置问题,当eclispe server locations选项为第一项时,tomcat无法独立运行,由于本人学术不精,只定位出问题所在,还望大神帮答问题所在原因。
2、eclipse发布web工程
a、将server locations设置为可配状态
右键server,选择Add and Remove...,然后选择Remove all,确定。
右键server,选择clean。
b、配置server locations
选项如图所示
经过a步骤可以使得选项成可选状态,其中:
第一项为使用eclipse本地配置metadata,并不会修改tomcat配置。
第二项为用tomcat安装目录,并且会修改server.xml文件
第三项为使用特定目录
其他选项:server path为tomcat根目录,Deploy为发布目录。
如果上图选择第一项, 发布的路径是D:\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps,则eclipse可以本地调试,但是tomcat会造成闪退,无法独立运行,使用localhost:8080会产生404错误。
如果选择第二个选项,会在tomcat目录下建立一个wtpwebapps文件夹,并且会把web工程生成的产物拷贝到该目录下, 同时会在tomcat的conf目录下的server.xml中<host>节点注册一个web工程,如图:
docBase为web工程文件,可为mavern target下的相应工程名的文件夹产物,也可以为war文件,path则为url的地址。
此时,eclipse可以正常debug,同时tomcat也可以正常启动
第三个选项暂时没用过,应该是可以自定义发布的路径。
3、tomcat发布工程
a、发布到webapps目录下
将工程名产物文件夹或者导出为war包放到目录下即可,war在tomcat会多一个步骤,就是解压为和产物文件夹一样的文件夹。
b、发布到其他路径(如tomcat下的mydir)
将相应工程文件夹或者war拷贝到tomcat下的mydir下
修改conf下的server,在host节点下增加context节点,注册web服务。
path="" 为部署后运行的url路径,docBase为你的war的文件名。 第一次运行的时候,tomcat会自动解压war,生成path指定名称的网站。
不管是war文件还是web工程产物文件夹,最终都会被tomcat拷贝到webapps下面,只是war是解压之后拷贝。
4、发布到tomcat下是war好还是产物文件夹好?
个人认为:打成war包的好处是不会缺少目录,并且只管理好一个发布文件就好。