前进的孤帆  

  在使用eclipse导入外部jar包时,经常使用Add User Libarary的方式,采用这种方式,外部的jar包没有直接添加到WEB-INF/libs下,那这些jar是在哪里引入的呢?

  使用外部jar,可以放置在classpath下使用,在当前web目录下可以找到.classpath文件,打开如下:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/common-logging"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Spring"/>
<classpathentry kind="output" path="bin"/>
</classpath>

  这里只引入了两个Libarary:Spring、common-logging。从上可以看到,这里只是user Libarary名称,那真正的引入那些jar的路径在哪呢?

  在{workspace}\.metadata\.plugins\org.eclipse.core.runtime\.settings的org.eclipse.jdt.core.prefs文件下,可以找到如下内容:

org.eclipse.jdt.core.userLibrary.Spring=XXX

org.eclipse.jdt.core.userLibrary.common-logging=XXX

XXX这里才是对应的jar在硬盘中的实际地址。当前workspace下的其它项目也就可以直接引用相应的user Libarary了。

以common-logging为例,去掉\t、\r\n等转义字符之后,如下:

<?xml version="1.0" encoding="UTF-8"?>
<userlibrary systemlibrary="false" version="2">
      <archive path="D:/javaWebAPIs/log/commons-logging-1.2.jar"/>
</userlibrary>

  archive 节点的path是jar包对应的硬盘位置,若有多个jar,这里就会有多个archive节点

posted on 2017-11-04 12:35  前进的孤帆  阅读(615)  评论(0编辑  收藏  举报