在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/ ...
 
随机推荐
- x01.os.5: DOS 功能调用
			
DOS 功能调用(INT 21)-------------------------------AH = 0-2E 适用 DOS 1.0 以上版本AH = 2F-57 适用 DOS 2.0 以上版本AH ...
 - MySQL Database on Azure 参数设置
			
在使用MySQL过程中,经常会根据需要对MySQL的参数进行一些设置和调整.作为PaaS版本的MySQL,MySQL Database on Azure在参数设置方面有一些限制,客户不能像使用on-p ...
 - nodejs模块——fs模块
			
fs模块用于对系统文件及目录进行读写操作. 一.同步和异步 使用require('fs')载入fs模块,模块中所有方法都有同步和异步两种形式. 异步方法中回调函数的第一个参数总是留给异常参数(exce ...
 - 带权图的最短路径算法(Dijkstra)实现
			
一,介绍 本文实现带权图的最短路径算法.给定图中一个顶点,求解该顶点到图中所有其他顶点的最短路径 以及 最短路径的长度.在决定写这篇文章之前,在网上找了很多关于Dijkstra算法实现,但大部分是不带 ...
 - POJ1386Play on Words[有向图欧拉路]
			
Play on Words Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11846 Accepted: 4050 De ...
 - AC日记——删除单词后缀 openjudge 1.7 20
			
20:删除单词后缀 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个单词,如果该单词以er.ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否 ...
 - Mantis1.2.19 在Windows 平台上的安装配置详解
			
安装环境: WindowsXP 32 Apache2.2.22+PHP5.4.39+MySQL5.5.28 一.简介 MantisBT是由PHP开发的.基于WEB的缺陷跟踪系统,并采用开源数据库MyS ...
 - Win 2003硬盘安全设置
			
C:分区部分: c: administrators 全部 iis_wpg 只有该文件夹 列出文件夹/读数据 读属性 读扩展属性 读取权限 c:inetpubmailroot administrator ...
 - box-shadow 的一些使用
			
1.只有左侧有阴影 box-shadow: -10px 0px 3px 1px #aaaaaa;
 - 如何用 CSS 做到完全垂直居中
			
本文将教你一个很有用的技巧——如何使用 CSS 做到完全的垂直居中.我们都知道 margin:0 auto; 的样式能让元素水平居中,而 margin: auto; 却不能做到垂直居中……直到现在.但 ...