在eclipse中使用第三方库总结
一.建立user library
导入第三方jar文件,最简单的方式是:右键工程/属性/java build path/add external jars.
另一种方式是:window/prefrence/java/build path/user lib,新建用户库,可以为其指明jar文件,doc文件,src文件,这么一弄,在编程时就可以按F3查看代码定义了,并且能够鼠标悬停还可查看说明,函数的参数有具体的含义而不是arg1,arg2......
用user lib的方式,可以使多个工程共享一套第三方库,节省磁盘空间,并且可以配置好user lib,以后用时直接添加user lib就可以查看doc和src。
这两种方式,其实很像动态链接库和静态链接库。使用动态链接库生成的可执行文件体积小,复用模块多;使用静态链接库生成的可执行文件对外界依赖少,便于移植,但无法进行本地化,一旦更改库,就需要重新编译生成可执行文件。
当然是建立user lib好,建立一个文件夹,里面放的全是第三方库及其对应的源代码和文档,在eclipse中建立对应的user lib,并绑定源代码和文档。
二.android工程和web工程
android工程和web工程都有lib目录,只要把jar文件复制到该目录,运行时便会一切正常。无需设置java build path。而设置user lib这种方式就会报错。
下载完struts并建立user library之后,新建动态网站项目并导入user library,运行web项目无法运行,说类未定义。
java.lang.NoClassDefFoundError: com/alibaba/fastjson/JSON
编android时,建立项目并配置好其build path后,欲将其导出为jar文件。设置好了user lib,编译一切正常,只有运行时说找不到泪,可是我眼里都是泪呀。这个问题难了我一个晚上
Exception in thread "main" java.lang.NoClassDefFoundError
java.lang.NoClassDefError找不到类定义
下面说说解决方案。
三.user lib随工程导出
编译正常,导出之后就会出错:说找不到类定义
这里的导出包括:导出为jar文件,导出为apk文件
这是因为依赖库没有导出,右键工程属性在java/buildPath/order and exports中打几个钩就可以了,如果编的是android工程,这么一弄就把user lib打包到了apk,也打包到了jar文件中,总之,这种方法适用于打包输出的情况。
如果是建立的web工程,上面那种方法就不行了,因为我点的是直接运行,并没有打包成war文件,tomcat说找不到类。那就要右键工程属性在deployment assembly中设置,添加部署到服务器的程序集。如果只是添加user lib,却没有部署到服务器会产生一个警告。你工程上的感叹号可能就是这个原因。
经过我测试,把struts-all/lib/下的jar全部复制到项目目录下无法运行,把struts-all/apps/blank/lib复制到项目目录下就可以运行。
四.最后
路径名别有汉语,说不定就出错了,路径名有空格说不定就错了。
关闭一下,重新启动,说不定就好了
在eclipse中使用第三方库总结的更多相关文章
- Android Studio中导入第三方库
之前开发Android都是使用的eclipse,近期因为和外国朋友Timothy一起开发一款应用,他是从WP平台刚切换使用Android的,使用的开发环境时Android Studio,为了便于项目的 ...
- Android中集成第三方库的方法和问题
Android中集成第三方库的方法和问题 声明: 1. 本文參考了网上同学们的现有成果,在此表示感谢,參考资料在文后有链接. 2. 本文的重点在第三部分,是在开发中遇到的问题及解决的方法.第一,第二部 ...
- [学习笔记] 在Eclipse中添加用户库 Add User Libraries ,在项目中引用用户库
如果还没有安装Eclipse, 则请参考前文: [学习笔记] 下载.安装.启动 Eclipse(OEPE) 添加用户库 本文主要介绍在项目中直接使用第三方库的情况.就是把第三方的jar文件直接放到某 ...
- 详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法
详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法 一 编译链接 1 在相应官网下载jsoncpp 2 解压得到jsoncpp-src-0.5.0文件 3 打开jsoncpp-src- ...
- Java SE Eclipse中引入第三方jar及class
使用eclipse开发Java SE 总免不了需要引入第三方的jar或者calss文件.这里给大家说一下如何在eclipse中引入第三方jar或者calss文件. 让我们先了解一下eclipse项目中 ...
- Eclipse中Android公共库的正确建立及调用方法
Eclipse中Android公共库的正确建立及调用方法 引言 之前一直头痛于没有办法在多个程序中共享资源,用作公共类库的方法也是使用的导出jar再导入的办法,现在终于初步搞明白了,可算解脱了~,分享 ...
- xcode中的第三方库配置问题总结
xcode中的第三方库配置总结 在导入第三方库的时候,总是会遇到许多的问题.在这里,我记录一下学到的一些知识点.写得比较乱.只要是想要记录下来,在第三方库导入的时候,遇到的一些问题. 参考网址: ht ...
- 关于pycharm中安装第三方库时报错的解决办法(一)
记录自己的生活! 一.事发背景 在pycharm中直接安装第三方库时因为版本问题总是无法安装成功,事情不大,但是很重要. 二.经过 最开始我自己电脑上安装了Python3.6和Python2. ...
- json库的编译方法和vs2010中导入第三方库的方法
json库的编译方法和vs2010中导入第三方库的方法 一.去相应官网下载json.cpp文件 Jsoncpp下载:https://sourceforge.net/projects/jsoncpp/ ...
随机推荐
- Macbook无法上网,访问不了appstore、safria、网易云等,但QQ、谷歌浏览器可以用--解决方案
---------------------我是分割线 update 2016-09-22 20:55:22----------------------------- 发现之前那个方法也是不稳定,后来 ...
- IE6-11使用location.href提交时的链接复制到firefox或chrome时出现乱码
这是在开发国际机票查询页时碰到的一个问题,测试工程师在IE里执行查询操作,然后把查询的url赋值到firefox的地址栏,firefox打开后就变成乱码了. 1. IE浏览器,选择出发地,出发日期等后 ...
- Web学习之html
超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言.HTML是一种基础技术,常与CSS.JavaScript一起被众多网站用于设 ...
- 【2016-10-12】【坚持学习】【Day3】【命令模式】
今天学习了第二个模式,命令模式 例子: 开关==>发送者 电线==>命令传输 电灯==>接受者 一个开关可以通过不同电线控制不同电器, 结构: 发送者类, 抽象命令类 具体命令类:继 ...
- 关于AngularJs中的路由学习总结
AngularJs中的路由,应用比较广泛,主要是允许我们通过不同的url访问不同的内容,可实现多视图的单页web应用.下面看看具体怎么使用. 关于路由 通常我们的URL形式为http://jtjds ...
- 分页查询的两种方法(双top 双order 和 row_number() over ())
--跳过10条取2条 也叫分页select top 2 * from studentwhere studentno not in (select top 2 studentno from studen ...
- AC日记——有趣的跳跃 openjudge 1.6 07
07:有趣的跳跃 总时间限制: 1000ms 内存限制: 65536kB 描述 一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1). ...
- KEngine:Unity3D资源的打包、加载、调试监控
资源模块做什么? 资源模块——ResourceModule,是KEngine中最核心的模块,其他模块基本或多或少的对它有依赖,它主要的功能是:资源打包.路径定义.资源管理.资源调试. 资源模块对Uni ...
- UNITY在VS中调试
下载地址:https://visualstudiogallery.msdn.microsoft.com/site/search?f%5B0%5D.Type=RootCategory&f%5B0 ...
- win7旗舰版 中文64位 产品密钥(序列号)
无需破解即可激活Windows 7旗舰版的"神Key". 第一枚"神Key":TFP9Y-VCY3P-VVH3T-8XXCC-MF4YK: 第二枚"神 ...