1、tomcat闪退

a、环境变量错误

startup.bat最后假如PAUSE进入调试状态,双击startup.bat,可以看到错误,根据错误提示设置相应的环境变量,JAVA_HOME等。

b、eclispe设置问题,当eclispe server locations选项为第二项时,发布项目会修改tomcat下面的server.xml文件,如果中间存在手动清理发布目录会导致server.xml中注册的web服务找不到相关文件而导致闪退;也就是说,闪退也可以查看server.xml,是不是配置错误导致的。

2、eclipse发布web工程

a、将server locations设置为可配状态

右键server,选择Add and Remove...,然后选择Remove all,确定。

右键server,选择clean。

    

b、配置server locations

选项如图所示

    

经过a步骤可以使得选项成可选状态,其中:

第一项为使用eclipse本地配置metadata,并不会修改tomcat配置,而是部署调试的web项目在eclipse工作空间,调用tomcat组件实现启动web服务。

第二项为使用tomcat安装目录,并且会修改server.xml文件

第三项为使用特定目录

其他选项:server path为tomcat根目录,Deploy为发布目录。

如果上图选择第一项, 发布的路径是D:\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps,并且调用tomcat组件,调试本地项目,tomcat webapps下的项目并不会启动,如果访问localhost:8080会产生404错误。

如果选择第二个选项,会在tomcat目录下建立一个wtpwebapps文件夹,并且会把web工程生成的产物拷贝到该目录下, 同时会在tomcat的conf目录下的server.xml中<host>节点注册一个web工程,如图:

docBase为web工程文件,可为mavern target下的相应工程名的文件夹产物,也可以为war文件,path则为url的地址。此时,tomcat中部署的其他web服务也能正常访问(不推荐这种方法)。如果中间存在错误,可能导致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包的好处是不会缺少目录,并且只管理好一个发布文件就好。

java web工程发布以及解决tomcat闪退的更多相关文章

  1. 解决tomcat闪退问题

    https://blog.csdn.net/zh2nd/article/details/79068680 转载此博客链接内容,非常感谢博主 本文参考CSDN博主 哈克沃德.的<Tomcat8启动 ...

  2. java web 工程找不到tomcat类 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    ava.lang.ClassNotFoundException: com.mysql.jdbc.Driverat org.apache.catalina.loader.WebappClassLoade ...

  3. Java Web工程连接MySQL数据库及Tomcat服务器页面中文乱码

    Java Web工程连接MySQL数据库 一. 准备工作 1.下载连接MySQL数据库的JDBC (可以去官网下,也可以去百度云找) 2.将下载的jar文件复制到Tomcat的lib目录下 3.新建一 ...

  4. Tomcat设置默认启动项目及Java Web工程设置默认启动页面

    Tomcat设置默认启动项目 Tomcat设置默认启动项目,顾名思义,就是让可以在浏览器的地址栏中输入ip:8080,就能访问到我们的项目.具体操作如下: 1.打开tomcat的安装根目录,找到Tom ...

  5. Java Web项目发布及使用自定义域名

    详细讲解的网址: http://wenku.baidu.com/link?url=-ACZxKUcfrbhrMRUP3Ov-Q_c-Q9JPrA9D1fzHjHuJsWwZfRsVDVQ2qBtoY7 ...

  6. Maven启动Java Web工程,8081和8086端口号被占用

    Maven启动Java Web工程, <!-- 配置tomcat插件 --> <build> <plugins> <plugin> <groupI ...

  7. Java Web乱码原因与解决

    Java Web乱码原因与解决 一.了解编码常识: 1.ASCII 码 众所周知,这是最简单的编码.它总共可以表示128个字符,0~31是控制字符如换行.回车.删 除等,32~126是打印字符,可以通 ...

  8. 8. 启动Tomcat闪退无法启动原因解决

    原因可能是由于下面问题导致的: 1.Tomcat环境在不同电脑上引用的jdk路径不同 比如:在A电脑上Tomcat引用的jdk路径为:C:\Java\jdk1.6.0_10 而在B电脑上jdk的安装路 ...

  9. 使用 maven 创建 java web 工程

    本文主要讲述使用 maven 命令行的形式来创建  java web 工程 开发环境 jdk 1.7 maven 3.5.0 spring 3.2 tomcat 7 eclipse Mars Rele ...

随机推荐

  1. 深入js的面向对象学习篇(封装是一门技术和艺术)——温故知新(二)

    下面全面介绍封装和信息隐藏. 通过将一个方法或属性声明为私用的,可以让对象的实现细节对其它对象保密以降低对象之间的耦合程度,可以保持数据的完整性并对其修改方式加以约束.在代码有许多人参与设计的情况下, ...

  2. Generating Huge reports in JasperReports

    There are certain things to care while implementing the Jasper Reports for huge dataset to handle th ...

  3. printf在终端输出时改变颜色

    在调试程序时,有时候要输出大量数据,如果让printf/fprintf改变输出数据的颜色,那观察数据就方便多了. 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关.转义序 ...

  4. C++ 嵌套类使用(三)

    如果嵌套类型和其外部类型之间的关系需要成员可访问性语义,需要使用C++嵌套类,嵌套类型不应针对其声明类型以外的类型执行任务,而C++局部类允许类.结构和接口被分成多个小块儿并存储在不同的源文件中,这样 ...

  5. 分析java程序中cpu占用过高的线程

    http://blog.csdn.net/jgwei/article/details/12079147 http://hllvm.group.iteye.com/group/topic/38893 h ...

  6. 接口和JAVA设计模式

  7. 【安全组网】思科IOS设备基础应用

    思科IOS有2种主要命令行模式:用户模式与特权模式 1.用户模式(user mode),当用“>”表示实在用户模式下 2.特权模式(exec mode),当用"#"表示是在特 ...

  8. Android 响应webview中图片的点击事件

    最近碰到个新需求需要点击webview中的图片进行放大显示. 整理了下思路,想到了下面的一个可行的方案. 方案思路, 1.在点击图片的时候调用本地的java方法并给出响应的图片地址 2.本地获得图片地 ...

  9. Java的类演进过程

    1.从面向过程到面向对象 在大家最熟悉的C语言中,如果要定义一个复杂的数据类型就用结构体(Struct)来实现,而为结构体的每个操作都定义一个函数,这个函数与结构体本身的定义没有任何关系.程序的重心集 ...

  10. TCP/IP的三次握手和四次分手以及超时机制

    使用INADDR_ANY的时候,往往针对多网卡情况,采用tcp连接方式,需要选择使用哪一个网卡发送,自己猜想应该是使用三次握手机制,如何判断目标地址不可达,应该使用的是超时机制,即握手超时则不可到达. ...