eclipse_project
转!java web项目 build path 导入jar包,tomcat启动报错 找不到该类
在eclipse集成tomcat开发java web项目时,引入的外部jar包,编译通过,但启动tomcat运行web时提示找不到jar包内的类,需要作如下配置,将jar包在部署到集成的tomcat环境中。
问题:在 web应用 右键->Run as -> Run on Server情况下,会找不到Java Resources下Libraries的jar,应该是eclipse工程在发布到tomcat时并未将lib内jar包发布过去;
解决:右键web应用,选择Properties->deployment assembly-> add ->java build path entries ->选择 jar 后重新发布;
但是这样打包的时候,仍然会报错,找不到该外部jar包的类。(参考:http://blog.sina.com.cn/s/blog_65e5eb110102v0fj.html)
解决方法如下:
1.在项目下建个文件目录,如lib()
2.将外部jar包复制到该目录下
3.选中我们复制好的jar,右键选择Build Path--->Add to Build Path:
我在web-inf下建的lib目录,同样的方式,但是打包会报错。
浅谈java项目与javaweb项目导入jar包的区别 http://www.jb51.net/article/129156.htm
eclipse内使用tomcat项目究竟被部署到了哪里
笔者在使用eclipse+tomcat做本地调试,项目没跑起来,原因就很奇怪啊(某前辈说过:奇怪源于无知),然后就想它究竟是把项目放到哪个目录下呢,我的tomcat/webapps目录下并没有啊。
默认部署到了哪里
eclipse并不像MyEclipse默认将项目部署到tomcat安装目录下的webapps中,而默认部署到工作目录(workspace)下的.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
中。(tmp0、tmp1的不同是目前这个server容器的顺序)
如何修改
为了使项目默认部署到tomcat安装目录下的webapps中,show view->servers->找到需要修改的tomcat->右击
- 停止eclipse内的tomcat服务器(stop)
- 删除该容器中部署的项目(add and remove)
- 清除该容器相关数据(clean)
- 打开tomcat的修改界面(open)
- 找到servers location, 选择第二个(User tomcat Installation)
- 修改deploy path为webapps
- 保存关闭
tomcat信息配置页详解
核心:
Configuration Path
配置了本页面获取配置信息内容的地址,在tomcat run的时候,配置文件会同步到Server path/conf
目录下,部署的文件会部署到Deploy path
目录下。
页面打开方式:
show view->servers->找到需要修改的tomcat->右击+open或者双击
General Information
包含一些基本信息
注意Configuration path,默认配置的是work
space中的配置文件,而不是tomcat目录下的配置文件。
每个tomcat一个配置文件,会在tomcat run的时候,将配置文件信息与Server Path/conf
中相关文件保持同步。
文件目录示例如下:
- +- Server
- +- Tomcat v7.0 Server at localhost-config
- --catalina.policy
- --catalina.properties
- --context.xml
- --server.xml
- --tomcat-users.xml
- --web.xml
Server Locations
Server Locations包含server path和Deploy path,
- Server Path
Use workspace metadata 默认位置(
.metadata/.plugins/org.eclipse.wst.server.core/tmp0
)Use Tomcat installation(配置的本地tomcat目录)
如:/Users/shenpengyan/Documents/apache-tomcat-7.0.70/webapps
Use custom location(使用任意其他目录)
- Deploy path:
和Server Path关联,设置serverpath的一个子目录,默认为(wtpwebapps)
Server Options
Publishing
Timeouts (启动和关闭超时)
在启动和关闭时,如果超过这里设定的时间就会报错。启动时如果项目启动比较耗时,可以调高start timeout。
Ports(端口)
这里列出了启动时候需要占用的端口号,如果启动时候显示端口号被占用。可以到这里去看,把相关端口占用清理掉,或者到对应的Configuration Path中的server.xml文件中修改对应的端口。
标准tomcat需要占用三个端口
端口 | 描述 |
---|---|
Tomcat admin port | tomcat启动关闭时用的端口 |
HTTP/1.1 | http请求占用的端口 |
APJ/1.3 | apj请求占用的端口 |
MIME Mapping(MIME类型对照关系,更改会显示在web.xml中)
tomcat内两种添加Web Modules的方式
- 添加web project
view->servers->找到需要修改的tomcat->右击-> add and remove
tomcat配置信息页,切换Modules tab。
如图,按钮`Add Web Module`用来添加内部project。
添加外部web project
如上图,按钮
Add External Web Module
用来添加外部project。使用这种方式,可以直接把maven web项目中的target目录下的产出放进去启动。
eclipse_project的更多相关文章
- Difference between Tomcat's extraResourcePaths and aliases to access an external directory--转
Question: Simple question: In Tomcat7, what's the difference between using extraResourcePaths and al ...
- Oracle 11g XML java连接
在网上找了好多教程 走好好多弯路 现在从头总结下 oralce11g 可以直接用xmltype节点存储xml文件 简单来说就是直接存一个文件进去 首先安装oracle11g 网上教程非常多 然后进Ne ...
随机推荐
- ZBar在Windows上的使用 -- ImageMagick and OpenCV
博客转载自:https://blog.csdn.net/sunflower_boy/article/details/49095265 1. 下载ZBar v0.10 http://zbar.sourc ...
- 记得适当的声明成员函数为const.
如果确信一个成员函数不用修改它的对象,就可以声明它为const,这样就可以作用于他的const对象了.因为const对象只能调用它的const方法. template<class T> c ...
- c++中怎么实现Java中finally语句
所有学习c++的书籍都明确提出了,不要使用goto, 以免造成程序流程的混乱,使理解和调试程序都产生困难. 但是我们遇到这样一个场景怎么办:就是不管程序执行成功与否,都要执行一些资源释放语句,相当ja ...
- Python-第三方库requests详解(附requests中文官方教程)
转自http://blog.csdn.net/cyjs1988/article/details/73294774 Python+requests中文官方教程: http://www.python-re ...
- Linux中的Makefile
在Linux中Makefile扮演一个非常重要的角色,我们可以以Linux为平台在上面编写我们需要的C程序代码, 对于C语言来说,Linux是一个非常好的平台来学习.使用.调试.验证C代码的平台,其强 ...
- BCP导入导出
- 解决Eclipse 启动后总是Building WorkSpace(sleeping) Java报错和处理
发布者:Lynn.. 时间:2016-12-20 13:13:55 今天打开eclipse后eclipse总是在Building WorkSpace(sleeping),我的解决方案是 ...
- cuda编程知识普及
本帖经过多方整理,大多来自各路书籍<GPGPU编程技术><cuda高性能> 1 grid 和 block都可以用三元向量来表示: grid的数组元素是block blo ...
- C#静态类 转载:(原文:http://www.cnblogs.com/chenlulouis/ )
静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享. 探究 public static class StaticTestClass{ public static int ...
- java8 获取某天最大(23:59:59)和最小时间(00:00:00)
public class DateUtil { // 获得某天最大时间 2018-03-20 23:59:59 public static Date getEndOfDay(Date date) { ...