昨天将一个web项目部署到本地的tomcat,历程很艰辛,各种报错。首先这个项目可以用eclipse内嵌的jetty启动起来,试着用tomcat容器,各种报错。以下是详细步骤:

1、用eclipse打包程序,右键项目--run as--run configurations --maven build--右键新建,如下图

2、打包报错:编码gbk 的不可映射字符

因为我的项目是从svn检出的,有的文件编译格式是gbk,不是utf-8,所以在pom.xml中的maven-compiler-plugin中加入<encoding>utf8</encoding>

<plugin><artifactId>maven-compiler-plugin</artifactId><version>3.0</version><configuration><source>1.6</source><target>1.6</target><encoding>utf8</encoding></configuration>
</plugin>

3、在项目的target文件夹下有打成功的war包,但是项目的webapp文件夹里的配置文件没有打入包里

打包日志里有一句Copying webapp resources [D:\workspace_armc_app3\armc-asi\WebContent],这应该是将webapp里的配置文件打在了webcontent文件夹,但是查看了下,右键项目--build path--configure build path--Deployment Assembly,已经设置了webapp的文件打到路径"/"下,如图

结果发现pom.xml文件里有<warSourceDirectory>WebContent</warSourceDirectory>,将它注掉了,就好了

<plugin><artifactId>maven-war-plugin</artifactId><version>2.3</version><configuration><!-- <warSourceDirectory>WebContent</warSourceDirectory> --><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin>

4、将打好的war包放置在本地tomcat的webapps文件夹里

5、启动tomcat(cmd,进入到apache-tomcat-7.0.82\bin下,执行命令startup.bat,闭关 tomcat用shutdown.bat)

6、访问http://localhost:8080/成功
7、访问http://localhost:8080/项目名失败,提示404,为了在eclipse控制台里好看错误日志,决定在eclipse中设置tomcat

8、此时我修改了一下tomcat访问端口,改为了8081


9、接下来eclipse中配置tomcat,windows--preferences-tomcat

localhost下写配置文件armc-asi.xml

<Context path="/armc-asi" docBase="D:\workspace_armc_app4\armc-asi\src\main\webapp" reloadable="true"> <Resource acquireIncrement="2" auth="Container" description="Oracle 11g Connection Pool" driverClass="oracle.jdbc.driver.OracleDriver" factory="org.apache.naming.factory.BeanFactory" jdbcUrl="jdbc:oracle:thin:@ip:port:service-name" maxPoolSize="10" minPoolSize="2" password="" type="com.mchange.v2.c3p0.ComboPooledDataSource" user=""/></Context>

10、右键项目,run on server,警告

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:armc-asi' did not find a matching property.
解决办法:双击server,勾选publish module contexts...
11、接着报错:找不到类,但是已经引入了jar包,后来发现pom中有的jar包是provided,将其注释掉就可以了,如果有provided,那么jar包是不会打入包里的

<dependency>
<groupId>weblogic</groupId>
<artifactId>wlclient</artifactId>
<version>1.0.0</version>
<!-- <scope>provided</scope> -->
</dependency>
<dependency>
<groupId>weblogic</groupId>
<artifactId>wljmsclient</artifactId>
<version>1.0.0</version>
<!-- <scope>provided</scope> -->

12、接着报错:
Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
但是项目已经引入了ojdbc6.jar
原因是没有把ojdbc6.jar放到D:\apache-tomcat-7.0.82\lib下,查了一下tomcat只会查自己lib下的驱动
13、继续报错,双击server,改下时间上限即可,默认是45

14、继续报错
Exception in thread "http-bio-8081-exec-2" Exception in thread "http-bio-8081-exec-1" Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" Exception in thread "http-bio-8081-exec-3"
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=256M"

转载于:https://www.cnblogs.com/BonnieWss/p/8961012.html

部署web应用程序到tomcat相关推荐

  1. Jboss AS 7 部署web应用程序时无法初始化spring的bean的解决办法

    Jboss AS 7 在部署web应用程序的时候无法初始化spring的bean(在tomcat下边不会出现这个问题) 原因是web应用程序没有导入jboss对spring的支持的jar包 解决方法: ...

  2. Jenkins部署Web项目到远程tomcat

    原网址:http://blog.sina.com.cn/s/blog_b5fe6b270102v7xi.html 之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发 ...

  3. Jenkins部署Web项目到远程tomcat(通过jenkins插件)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  4. Asp.Net Web Api 部署------在云服务器IIS上部署Web Api程序

    Asp.Net Web Api 部署------在云服务器IIS上部署Web Api程序 本人Web Api程序框架选择的是.Net 5.0 一.在服务器上安装运行时RunTime,.Net 5 运行 ...

  5. Linux Ubuntu从零开始部署web环境及项目 -----tomcat+jdk+mysql (二)

    上一篇介绍如何在linux系统下搭建ssh环境 这篇开始将如何搭建web服务器 1,下载文件 在官网下载好 tomcat.jdk.mysql的linux压缩包 后缀名为.tar.gz 并通过xftp上 ...

  6. Eclipse利用Maven的插件部署web项目到远程tomcat服务器

    使用maven的自动部署功能可以很方便的将maven工程自动打包并且部署到远程tomcat服务器,省去一些繁琐的操作,节省大量时间. 我使用的tomcat版本是8.5,tomcat7和tomcat8都 ...

  7. 入门实践丨如何在K3s上部署Web应用程序

    在本文中,我们将使用Flask和JavaScript编写的.带有MongoDB数据库的TODO应用程序,并学习如何将其部署到Kubernetes上.这篇文章是针对初学者的,如果你之前没有深度接触过Ku ...

  8. 怎样linux部署web应用程序,Linux系统部署WEB项目(2020最新最详细)

    2020最新Linux系统发行版ContOS7演示部署WEB项目 为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐. 更多命令学习推 ...

  9. Linux部署Web应用程序超链接下载中文名称文件404问题解决办法

    超链接内容如下: <a href="jsp/plugin/用户手册.doc">用户手册</a> 开发环境为Windows,Tomcat和WebSphere都 ...

最新文章

  1. T端音乐盒子-NPC脚本
  2. PAT甲级1152 Google Recruitment :[C++题解]判质数
  3. 亿级流量电商详情页系统实战:缓存架构+高可用服务架构+微服务架构
  4. java企业号回调模式,微信公众平台企业号开发—开启回调模式
  5. freeswitch 发update sip消息_【PDA】SIP中生物学确认
  6. 夜深了,发点无聊的东西
  7. _.uniq_在Ruby中使用Array.compact和Array.uniq方法从Array中移除元素
  8. ASP.NET Request.UrlReferrer 问题
  9. python爬虫beautifulsoup_python爬虫beautifulsoup解析html方法
  10. 始于颜值 敬于才华 合于性格 久于善良 终于人品
  11. scrollView的简单实现效果(1)
  12. maven环境、本地仓储配置(下载安装)
  13. android java语言_android可以用java语言开发吗
  14. 阿里小姐姐工作7年,P6升P7无望,欲去当培训师
  15. 如何准备数学建模竞赛?数学建模方法!备战国赛
  16. latex模板中 引入ORCID链接的方法
  17. 自动化如何影响到你?传统5天工作制或成过去
  18. android友盟错误统计,Android—友盟统计收集错误和在线统计
  19. 2015年中国最具竞争力机器人控制器企业10强
  20. vc中操作INI文件函数

热门文章

  1. 安卓开发_自定义控件_界面的简单侧滑
  2. Mr.J--蓝桥杯--去注释
  3. 原生ajax请求的五个步骤
  4. 洛谷 P3320: bzoj 3991: LOJ 2182: [SDOI2015]寻宝游戏
  5. 孔维滢 20171010110《面向对象程序设计(java)》第十七周学习总结
  6. Python入门学习-DAY27- isinstance与issubclass、反射、内置方法
  7. JavaScript中子类调用父类方法的实现
  8. HTML 中CSS 图像详解
  9. BZOJ 3038 上帝造题的七分钟2
  10. MSSql Server 自定义导出