在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/ ...
随机推荐
- who
查看当前系统中当前登录的帐户 $who jiang :0 2016-10-13 08:55 (:0) jiang pts/4 2016-10-13 09:03 (:0) jiang pts/1 201 ...
- linux tar命令简介
一.使用介绍 1.名词区分 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文 ...
- json与jsonp小结
json 1. json 的值可以是下面这些类型: ① 数字(整数或浮点数),比如123,1.23 ② 字符串(在双引号中) ③ 逻辑值(true 或 false) ④ 数组(在方括号中) ⑤ 对象( ...
- hihocoder #1388 : Periodic Signal NTT&FFT
传送门:hihocoder #1388 : Periodic Signal 先来几个大牛传送门: (模板) NTT long long 版 解法一:因为我们知道FFT会精度不够,所以坚持用NTT,但 ...
- HDU2929 Bigger is Better[DP 打印方案 !]
Bigger is Better Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- UVa11549计算器谜题[floyd判圈]
题意: 有个老式计算器,每次只能记住一个数字的前n位.现在输入一个整数k,然后反复平方,一直做下去,能得到的最大数是多少.例如,n=1,k=6,那么一次显示:6,3,9,1... 白书上的题 set, ...
- 洛谷⑨月月赛Round2 P3392涂国旗[DP]
题目描述 某国法律规定,只要一个由N*M个小方块组成的旗帜符合如下规则,就是合法的国旗.(毛熊:阿嚏——) 从最上方若干行(>=1)的格子全部是白色的. 接下来若干行(>=1)的格子全部是 ...
- 方便!C++ builder快捷键大全
Clipboard control (default) Ctrl+Ins Edit|Copy Shift+Del Edit|Cut Shift+Ins Edit|Paste Ctrl+C Edit|C ...
- poj[2392]space elevator
Description The cows are going to space! They plan to achieve orbit by building a sort of space elev ...
- luogu[2093]零件分组
题目描述 某工厂生产一批棍状零件,每个零件都有一定的长度(Li)和重量(Wi).现在为了加工需要,要将它们分成若干组,使每一组的零件都能排成一个长度和重量都不下降(若i<j,则Li<=Lj ...