把jar包拷到WEB-INF/lib和放到工程之外的路径作为library引用有什么不同?

fyswords 2011-11-24 02:23:55
目前只是在本机调试,为什么放到WEB-INF/lib里面没问题,作为library加入工程就不能用?
...全文
3608 36 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
Remember2 2012-10-13
  • 打赏
  • 举报
回复
遇到跟楼主一样的情况~ 后面移了下jar包就可以了,害我纠结了好久
原来放到不同Lib下情况不同,以前不知道,又长了见识~~
唉,得加油了~
ccg5230 2012-09-16
  • 打赏
  • 举报
回复
对的直接放到lib下吧,我的Build Path引用jar包,启动tomcat就报异常,去项目文件夹下一看lib下是空的。
原来eclipse不帮我们拷包,肯定报错拉。
mine_10 2012-09-11
  • 打赏
  • 举报
回复
直接导入就可以了?
fyswords 2011-11-28
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 dingyun870203 的回复:]

楼主解决啦?
[/Quote]
明白了,zyz1985解释的很清楚
dingyun870203 2011-11-26
  • 打赏
  • 举报
回复
楼主解决啦?
半个鼠标 2011-11-26
  • 打赏
  • 举报
回复
你没看到你的web项目部署到tomcat服务器中只有那么几个文件夹吗,他唯独bin目录放jar包,你不放这里,你的web项目编译就出错了,找不到jar包!
jiangc1987 2011-11-26
  • 打赏
  • 举报
回复
突然发现自己很久没有手动的导入jar文件 了,, 也从来没有管过这些jar文件去那里下载了
一句命令就能搞定 还真是很爽的
bmowker 2011-11-26
  • 打赏
  • 举报
回复
肯定是路径问题吧,看看.classpath文件

[Quote=引用楼主 fyswords 的回复:]
目前只是在本机调试,为什么放到WEB-INF/lib里面没问题,作为library加入工程就不能用?
[/Quote]




--signature------------------------------------
www.qinglobo.com
oO临时工Oo 2011-11-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fyswords 的回复:]

引用 1 楼 damokelis 的回复:

因为前面是包是跟着项目走的

我还没有发布,就是在自己机器上调试
[/Quote]

当然没问题,你全放到library下可以,放到tomat的library下也可以,放到sun的library下也可以

但不具移植性。。。。。。
赵牧野 2011-11-26
  • 打赏
  • 举报
回复
引用的话估计离开eclipse就不行了。。。
fyswords 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 upsuccess 的回复:]

放在lib里面是工程自动引用,是相对项目的相对路径,你从外部引用是本机的绝对路径。可能jar包的路径找不到。你删掉重新引入,或把jar包拷贝到lib目录下。
[/Quote]
请看20楼第一张图,我在src下面的代码文件没有错误提示,eclipse明显是找到jar包了啊……
upsuccess 2011-11-25
  • 打赏
  • 举报
回复
放在lib里面是工程自动引用,是相对项目的相对路径,你从外部引用是本机的绝对路径。可能jar包的路径找不到。你删掉重新引入,或把jar包拷贝到lib目录下。
fyswords 2011-11-25
  • 打赏
  • 举报
回复
像这样把jar作为library加入工程

就会找不到

如果把jar放到lib目录下,直接作为library

就木有问题

是我的操作有问题吗?
  • 打赏
  • 举报
回复
没什么不同,只要把包通过配置引用进去就行,就像用myeclipse把myeclipse自带的struts hibernate spring包引进项目一样。。。
zhenkum 2011-11-25
  • 打赏
  • 举报
回复
是这样
首先,比如你现在用TOMCAT做服务器,那么需要依赖的JAR包就应该考到WEB-INF/lib中,TOMCAT会自动把它编译然后放入WEB-INF/classes目录(当然你src的代码编译以后也会放到这里)。就应该这么做,这是规定(甲鱼的屁股),你用这个server就应该服从其规定,不然就去看看TOMCAT如何实现的,再修改原码吧。
其次,如果将依赖的jar包考到WEB-INF/LIB下,又把这个JAR包的源代码考到SRC下,你觉得会怎么样?先编译谁?谁有效谁无效?你去试试(去看看类路径加载的顺序就知道了)。如果你想修改框架的源代码,你就应该这样做。
fyswords 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 zyz1985 的回复:]

楼主你看我的回复了么?
eclipse工程下的library是用来编译里面的src中java文件的
实际发布到tomcat时,仅仅只复制了WEB-INF/lib里面的jar包,所以出现eclipse可以正常编译但tomcat运行是找不到类,
如果你是用的eclipse j2ee IDE,你去WorkSpace\.metadata\.plugins\**.server.core\wtpweb……
[/Quote]
这样就明白了。那这样说来,用eclipse j2ee IDE开发web的时候,如果是编译java代码用到的jar可以作为library引用,如果是框架非java代码部分用到的jar就必须放在lib下面。可以这么理解吗?
游一游走一走 2011-11-25
  • 打赏
  • 举报
回复
楼主你看我的回复了么?
eclipse工程下的library是用来编译里面的src中java文件的
实际发布到tomcat时,仅仅只复制了WEB-INF/lib里面的jar包,所以出现eclipse可以正常编译但tomcat运行是找不到类,
如果你是用的eclipse j2ee IDE,你去WorkSpace\.metadata\.plugins\**.server.core\wtpwebapps找到运行时发布的工程就可以明白了
Damokelis 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 weihui5368452 的回复:]

16楼 男的女的?
[/Quote]额!爷们!头像纯粹为了养眼!
哈哈哈3234 2011-11-24
  • 打赏
  • 举报
回复
16楼 男的女的?
Damokelis 2011-11-24
  • 打赏
  • 举报
回复
这,,,诡异了,等高手吧
加载更多回复(15)

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧