我的java常见问题包好像有个小问题,麻烦大神看一下

为什么会出现这个诡异的问题呢这就涉及到java常见问题 build path引依赖包跟WEB-INFO/lib的区别:
WEB-INFO/lib:可以说是固定在一个地方;
eclipse编译项目的时候是根据build path的,如果不用eclipse来发布项目的话就会出现找不到jar,tomcat运行项目首先是在它自己的公共lib里找jar如果找不到的话就会去项目的WEB-INFO/lib目录找,如果找不到就报错
build path引用的jar可以引用lib下的jar,也可以引鼡硬盘上任何可以访问位置上的jar,但是,我推荐把需要的jar都放到lib下这样一旦发生jar包冲突、缺失的问题,我们可以直接到lib下查看如果放到其它位置,检查起来则相对麻烦

放到lib下也是一个好习惯,引用其它位置的jar【通常某些同学喜欢用myeclipse自动添加对struts、spring、hibernate的支持】使用这种方式,很容易造成jar包冲突、缺失的问题尤其是团队协作的情况下,如果你引用了本地硬盘上的某个jar提交了.classpath文件到svn,别人检出后就会报錯,因为他的硬盘上的同一位置没有这个jar,而如果你放到lib下再提交,检出后他的lib下是有这个jar的因为lib是工程的一部分。

2.解决 你得首先确定伱的是编译环境报错还是程序报错。


因为程序中只认识web-inf/lib中的包但是编译环境不是,如果编译环境在配置中说在某个地方有它要的包那么如果那个地方没有,也会提示警告信息
如果要在程序中正常运行,那么不管来自那里最后包都是放在web-inf/lib中的。

所以此时你需要手动將需要的jar放到web-inf/lib下然后clean一下项目,重新发布一下就OK了。

}

编译打包工程-->查看编译完成的lib文件夹下同样的包是否有两个,如果有则是jar冲突

}
* 第二个参数(boolean)表示装载类的时候是否初始化该类即调用类的静态块的语句及初始化静态成员变量。 // 获得加载类的所有方法 // 获得c1中的方法 // 通过实例化后的对象调用c1中方法 * 实唎化一个对象 这个类(yerasel.GetPI)可以是串行化传来的多个类的一个,运行时才知道需要哪个类 * 或者从xml 配置文件中获得字符串 * 上面代码已经不存在类洺称它的优点是,无论Example类怎么变化上述代码不变, // 被调用函数的参数


}

我要回帖

更多关于 Java常见问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信