eclipse 外部引入包

猪小烧 2009-06-05 02:19:48
以前一直用eclipse 的时候都是每个工程 单独 使用自己的 jar 包
但是 发现 最后 workspace 会好大...

后来决定使用 user lib 的方式 引入


一直很好用 (由于我都是直接运行juint)

后来 一连接 web 容器(tomcat) 就说 struts2 的 org.apache.struts2.dispatcher.FilterDispatcher
类找不到
但是 如果把 struts2 的 jar 都引入 工程后 就没了

但是我还是希望是使用的是 外部 jar 包的方式来 管理我所有的 jar

请问 这个如何解决呢
...全文
176 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozei523 2009-06-14
  • 打赏
  • 举报
回复
我们大家都知道,每个运行中的线程都有一个成员contextClassLoader,用来在运行时动态地载入其它类。

系统默认的contextClassLoader是systemClassLoader,所以一般而言java程序在执行时可以使用JVM自带的类、$JAVA_HOME/jre/lib/ext/中的类和$CLASSPATH/中的类,对于非默认的jar,一般只能手动在配置环境中添加。

但事实上,我们可以通过Thread.currentThread().setContextClassLoader()
更改当前线程的contextClassLoader行为,实现在程序内加载外部jar。

ClassLoader的工作原理是:
1) 线程需要用到某个类时,contextClassLoader将被请求来
载入该类;
2) contextClassLoader请求它的父ClassLoader来完成该载入请求
3) 如果父ClassLoader无法载入类,则contextClassLoader试图自己来载入。
======================================================================
http://www.java3z.com/cwbwebhome/article/article5/5866.html?id=1682
======================================================================
johnston678 2009-06-12
  • 打赏
  • 举报
回复
感觉每个项目还是把相关的jar放到它自己的lib中,
这样以后项目发部时就可以直接使用了!
猪小烧 2009-06-06
  • 打赏
  • 举报
回复
请问 maven 有什么好的 教程推荐吗
diggywang 2009-06-06
  • 打赏
  • 举报
回复
maven有什么好不是三言两语就能说清的,去http://maven.apache.org/看看吧
diggywang 2009-06-05
  • 打赏
  • 举报
回复
maven, 毫无疑问!
网络精灵 2009-06-05
  • 打赏
  • 举报
回复
你可以专门建一个文件夹放各种jar包,也就是说你的jar包随着你的项目走,测试项目推荐使用。专业项目最好放在本项目的lib下。
用maven管理,我还没发现有什么好处。有个好处是部署好,用于开源项目不错,国外开源项目很多用的。
yangkangoo12 2009-06-05
  • 打赏
  • 举报
回复
使用的是 外部 jar 包的方式是不对的 因为当你本地的项目部署到别的机器上的时候 别的机器和你环境不一样的话就找不到你引用的外部JAR包就会报错 正确的方式是把需要的JAR包拷到工程的lib目录下面
studying_ 2009-06-05
  • 打赏
  • 举报
回复
用maven来管理项目,包括外部引入包,效率很好的。
wuzhongxing 2009-06-05
  • 打赏
  • 举报
回复
web容器找不到工程需要的jar包,把jar包拷贝的tomcat的lib里面试试。
楼主这种处理方式,个人以为是不太恰当的。通常服务器上的环境跟本地的不一致,而且建议jar包引用时所引即所用,楼主试试用maven来管理项目试试

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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