如何在eclipse中引用第三方jar包
在用UiAutomator做手机自动化测试过程中,在UiAutomator的基础之上进一步封装了里边的方法,以使case开发更顺手。直接在工程的根目录下新建了个libs的文件夹,把封装好的框架打成jar包,放到了libs中,之后在build.xml中加入了其路径,以便ant build可以成功。
但之后提交git就出现问题了,每个工程都有一份libs,且其中都是框架的jar包,N多份同样的东西,可想而知,这样的代码,无论从哪个方面来说都是不合格的,于是想着是不是能否处理成像android.jar一样可以添加进来的library,这样就不用每次都提交git了,只需要把框架的jar包提交git,每次下载下来之后,放到指定路径下,在添加到build path里边即可。在高手的指引下,终于实现了!好开森,美丽的星期一!
先把你想引用的jar包放到指定路径下,如图1所示。
打开eclipse的Windows->Preferences,在Java菜单下,选择User Libraries,点击New,添加一个新的user library,暂时命名为Uiautomatorlib,点击OK,之后点击右侧的Add External JARS,找到你刚才放到指定路径下的jar包,如图2所示。
在你所想引用jar包的工程上名字上单击右键,选择Build Path->Configure build path,点击右侧的Add Library....,选择User Library,点击Finish,如图3所示。
之后在build path中会看到有了Uiautomatorlib这个library,同时在工程目录下,也多出来了此library,如图4所示。
最重要的一步,修改build.xml,如图5所示。
具体的build.xml文件代码,如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="AutoRunner" default="build">
<property file="local.properties" />
<property file="ant.properties" />
<property environment="env" />
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
<isset property="env.ANDROID_HOME" />
</condition>
<loadproperties srcFile="project.properties" />
<fail
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
unless="sdk.dir"
/>
<import file="custom_rules.xml" optional="true" /> <!-- version-tag: VERSION_TAG -->
<import file="${sdk.dir}/tools/ant/uibuild.xml" />
<target name="compile" depends="-build-setup, -pre-compile">
<javac encoding="${java.encoding}"
source="${java.source}" target="${java.target}"
debug="true" extdirs="" includeantruntime="false"
destdir="${out.classes.absolute.dir}"
bootclasspathref="project.target.class.path"
classpathref="reflibrary"
verbose="${verbose}"
fork="${need.javac.fork}">
<src path="${source.absolute.dir}" />
<compilerarg line="${java.compilerargs}" />
</javac>
</target> <path id="reflibrary">
<fileset dir="C:\Libs\uiautomator">
<include name="*.jar" />
</fileset>
</path> <target name="-dex" depends="compile, -post-compile">
<dex executable="${dx}"
output="${intermediate.dex.file}"
nolocals="@{nolocals}"
verbose="${verbose}">
<path path="${out.classes.absolute.dir}"/>
<fileset dir="libs" includes="*.jar" erroronmissingdir="false"/>
</dex>
</target> <target name="prepare" depends="clean,build"></target>
</project>
接下来就可以在你的工程中使用这个jar包,且提交git时无需提交此jar,只需要从git pull下来脚本和所需要的框架jar包,如上所述,新建user library,加入到build path,修改build.xml文件,就可以ant build啦!
So easy!!!
如何在eclipse中引用第三方jar包的更多相关文章
- Android Studio 在项目中引用第三方jar包
在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets { main { ...
- Eclipse项目中引用第三方jar包时将项目打包成jar文件的两种方式
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFES ...
- Java SE Eclipse中引入第三方jar及class
使用eclipse开发Java SE 总免不了需要引入第三方的jar或者calss文件.这里给大家说一下如何在eclipse中引入第三方jar或者calss文件. 让我们先了解一下eclipse项目中 ...
- Eclipse中导入外部jar包步骤
昨天,学习了Jar包的打包过程,现在打算记录一下,如何在Eclipse中导入外部Jar包. 第一步:在项目中鼠标右键>>New>>点击Folder. 第二步:在弹出窗口将Fol ...
- Eclipse 将projectBuild Path中引用的jar包自己主动复制到WEB-INF下的lib目录下
在用用 Eclipse进行Java Web开发时,web应用中引用的jar须要复制到WEB-INF下的lib目录下,否则常常出现ClassNotFound异常. 通过以下方法,能够不用手动拷贝jar包 ...
- 【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添 ...
- 关于如何正确地在android项目中添加第三方jar包
在android项目中添加第三方jar包虽然不是一个很复杂的问题,但是确实给很多开发者带来了不小的困扰.我自己就曾经碰到过calss not found exception.error inflati ...
- java在cmd下编译引用第三方jar包
java在cmd下编译引用第三方jar包 转 https://blog.csdn.net/qq_21439971/article/details/53924594 获取第三方jar包 第三包我们可以引 ...
- eclipse引入的第三方jar包放到同一个目录下
相信大家对这个不陌生吧: 使用eclipse,在JAVA项目中导入第三方jar包,然后看到一长串引入jar包信息,如下图: 看着不美观,也不是非常有必要,能不能像图中JRE System Librar ...
随机推荐
- linux系统下安装PHP扩展pcntl
1.查看当前的PHP版本并下载一个同样版本的php(我的是php5.6.22,我下的是php5.6.22) wget http://hk1.php.net/get/php-5.5.10.tar.gz ...
- 牛客网Java刷题知识点之什么是迭代器
不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=20 ...
- TCP简单程序
服务器段: package com.dcz.socket; import java.io.IOException; import java.io.OutputStream; import java.n ...
- HDU4576 Robot(概率)
题意 抄袭自https://www.cnblogs.com/Paul-Guderian/p/7624039.html 多组输入n,m,l,r.表示在一个环上有n个格子.接下来输入m个w表示连续的一段 ...
- andorid 向上滑动控制标题栏显示
要实现这样的功能,原理不难,监听滑动距离再设置标题栏的透明度 下面是监听一个带头view的list实现核心代码: mbar是标题栏 mListView.setOnScrollListener(new ...
- uvm_factory——我们的工厂(一)
factory 机制是实现(功能):通过一个字符串来创建此字符串所代表的的类的一个实例. //----------------------------------------------------- ...
- Ubuntu 16.04下Java环境安装与配置
首先下载linux下的安装包 登陆网址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h ...
- WPF中引入外部资源
有时候需要在WPF中引入外部资源,比如图片.音频.视频等,所以这个常见的技能还是需要GET到. 第一步:在VS中创建一个WPF窗口程序 第二步:从外部引入资源,这里以引入图片资源为例 1)新建Reso ...
- 剑指offer44 扑克牌顺序
注意一个边界条件:必须是连续的,如果前后两个数是一样的也不满足条件 class Solution { public: bool IsContinuous( vector<int> numb ...
- go语音实战读后感——一
1.第一个go程序: package main import ( "fmt" ) func main() { fmt.Println("Hello go") } ...