如何引入第三方jar包
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何引入第三方jar包相关的知识,希望对你有一定的参考价值。
Eclipse/MyEclipse 软件;oracle数据库驱动包ojdbc6.jar(任意jar包都可以,此文重点演示jar包导入,而非jar包使用)
方法/步骤
首先打开Eclipse/MyEclipse
在需要导入ojdbc6.jar包的项目上右键单击,依次选择“New”---->“Folder”,如下图所示:
在打开的“New Folder”窗口中,输入文件夹的名称,文件夹的名称随意,按照惯例,通常命名为“lib”,点击“finish”完成,
这样,就在项目下创建了一个名称为lib的文件夹,
然后“Ctrl+C”复制准备好的ojdbc6.jar,选中lib文件夹,按“Ctrl+V”粘贴,把jar包粘贴到lib文件夹中,
在粘贴进来的jar包上右键单击,依次选择“Build Path”--->"Add To Build Path",
出现下图所示情况时,就表示jar包导入成功了,接下来就可以在你的程序中使用该jar包了。开始愉快的coding吧! 参考技术A
打开自己的Eclipse,在自己的android工程上名上右键->Build Path ->Configure Build Path
在Libraries选项卡中,选择右侧的Add External JARs,然后选择要导入的第三方的jar包即可
在Order and Export选项卡中,点击右侧的Up按钮,将刚才引入的jar包放到最上方的位置,前边的勾记得要勾上!
这样你的第三方的jar包就算成功的引入到你的工程文件中了!你会看到你导入的第三方的jar包出现在了你工程文件的最上方,这说明你已经成功的完成了它的引入。
安卓项目如何优先使用自己引入的第三方jar包
正在开发一款Web应用的客户端软件,使用到org.apache.http.client等开源jar包,于是自然引入Httpclient-4.1.3.jar,编写代码,测试,表面上一切正常,返回头里面也绑定了Cookie,后来发现问题:
1、Web端登陆成功状态码是302,失败则是200,而我现在不论失败成功均为200
2、登陆成功头里面有“Set-Cookie”一项,但没有“Location”一项,而且该Cookie无法继续用来请求数据
3、将Web端已绑定好的Cookie复制过来请求数据就能正常请求到数据
后来将关键代码移植到J2SE环境进行测试(当然也要引入相关jar包),以上问题全部没有出现,everything is ok
于是乎,进一步排查发现安卓项目中引入的"android.jar"里面包含了org.apache.http.client等需要用到的库,所以安卓似乎(已验证,确实是这样)默认使用的是安卓自带的库(运行结果不对,出现了以上3个问题,肯定是做了手脚的),而不是我引入的第三方jar包所提供的库
那么,想到如下解决方式:
1、网上下载第三方jar包的源代码,拷贝到工程当中,作为自有代码编译,优先级应该高于android库文件了吧,但由于这样可能拷入的源代码较多,编译费时,效率低下等问题忽略之
2、木有了...
综上所述,各位大侠有没有好的解决方法能让我能使用到我自己引入的jar包呢?
PS:杂乱的描述,木有晕吧?囧rz
To Mr.esido
1、res文件夹?我这个还不设计到资源文件呀!不太明白你说的什么情况,可能没理解我说的,还是我没能明白你说的呢?
2、对啊,里面有显示灰色的目录结构,里面装载的是一些必须的资源文件嘛,也跟我这个问题八杆子打不着边呀
3、咋一看像是在试着解决问题,可左看右看也始终没能看明白,这能起什么作用呢?或者你能不能简单明了的说一些解决办法和解决原理呢(比较专牛角尖,见谅),现在在公司,也没法试一下你说的这种方法到底能起什么作用....
4、跪求再看看我的问题好吗
2:你所说的像android sdk那种方式,你可以看一下android.jar这个包,里面的res目录显示也是灰色的,里面的图片或者xml文件你同样无法查看,所以不存在想android.jar那种方式一样的情况。
3:有一种折中的方式,不过需要你的工程源码。即在eclipse下,导入你的工程,然后右键----->Properties----- >Android------>Library 下面的Is Library 选中。 之后在你新建的工程中右键----->Properties----- >Android------>Library 右侧 Add 选中你的工程名(jar)即可。
望采纳。追问
因为要说的太长,我补充了提问,请看看
参考技术A 应用内部自己写ClassLoader,试试看:ClassLoader loaderA = new MyClassLoader(libPathOne);
ClassLoader loaderB = new MyClassLoader(libPathTwo);
Object1 obj1 = loaderA.loadClass("first.class.binary.name", true)
Object2 obj2 = loaderB.loadClass("second.class.binary.name", true);
具体可以参考StackOverflow:
http://stackoverflow.com/questions/6105124/java-classpath-classloading-multiple-versions-of-the-same-jar-project 参考技术B 网络访问权限加了吗?要不你先用android自带的网络访问api重写试下
以上是关于如何引入第三方jar包的主要内容,如果未能解决你的问题,请参考以下文章