Eclipse 工程引用 与 Jar打包
来源:互联网 发布:php开源企业站 编辑:程序博客网 时间:2024/05/20 13:17
一 Eclipse 项目打成jar包
1.右键项目Export ---->Java目录下JAR file
2.选择打包的文件和输出的格式
①选择要打包的文件:
不用全选,全选只会额外占用空间,通常建议只选src目录或是其中需要的java文件或者可以加上res目录,右侧通常只选.classpath。这里说的只是常规做法,具体情况具体分析。
②选择要输出的内容格式:
* Export generated class files and resources 表示只导出生成的.class文件和其他资源文件。
* Export all output folders for checked projects 表示导出选中项目的所有文件夹。
* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了。
* Export refactorings for checked projects 把一些重构的信息文件也包含进去
通常选第一个就好。
3.其他根据提示设置即可。
注意:①若打包的项目又用到了其他的jar包,则该项目打成的包里不会包含引用的jar包。可以采用java打包命令把两个包再打成一个包对外提供。
②jar包里不能包含manifest文件,因为同一项目中不能包含两个manifest文件。
4.打包命令参考:
@echo off::转到当前盘符%~d0::打开当前目录cd %~dp0::你做的主JAR包的路径,可将其中一个jar做主Jarset MainJar=my.jar::第三方JAR包的路径set jar1=android.jarset jar2=log4j.jar::第三方JAR包顶级包名称,可先变zip后解压获得:set packageName1=deset packageName2=orgecho =========== start combin ==============::解压第三方包,也可直接jar -xf android.jar,主jar包不需要解压命令jar -xf %jar1%jar -xf %jar2%echo =========== start combin jar -xf ==============::合并主JAR包,也可不使用%引用,"jar -uf android.jar de"jar -uf %MainJar%%packageName1%jar -uf %MainJar%%packageName2%::jar -uf %MainJar%%pachageName3%::如果还有别的顶级包可以接着合并,例如:::jar -uf %MainJar%%packageName2%::jar -uf %MainJar% org::jar -uf %MainJar% cn echo =========== over ==============echo 再点一下就结束了--pause
参考博文:
二 Eclipse引用工程
eclipse 引用工程的两种方法
方法一是直接property --> android 中添加 project library,前提是要引用的项目已经设置isLibrary属性。这时当前项目的android dependencies目录就会自动添加被引用项目。并且当前项目的project.properties文件会生成android.library.reference.1=XXXX。推荐
方法二是property --> java build path 的project选项卡中 add 工程,这个方法不需要被引用项目设置isLibrary属性,但是这个方法还需要设置java build path 的order and export 选项卡将被引用项目也输出。否则会报找不到类。方法一不需要设置order and export,是因为order and export默认已经勾选当前工程、android private libraries 和 android dependencies。不推荐,这种方法无法引用project的资源文件,并且无法导出引用项目的jar包,会导致程序崩溃。
Issue:
上述两种方法都可查看源码:
目前方法一当项目A引用项目B的类方法,ctrl+左键只能跳入.class文件,不能跳入java文件,无法直接对library project代码进行修改。(怀疑对library只有读的权限)。
方法二可以直接跳入library project java文件修改源码。
jar包冲突:
当前项目和引用项目引用的jar包发生重复冲突时,并且当前项目的jar包已经包含引用项目的jar包,就可以把当前项目的jar包直接移到引用项目的jar里,把引用项目的jar包删掉,则正常,也就是jar的位置不影响项目对jar包的引用。
三 Eclipse引用 jar 包
法1. 直接把jar包复制到当前项目的libs目录即可。(通常项目就会自动添加这个jar包,若还不行,可右键jar包--->build path---->add to build path)
法2. 也可以右键Properties---->Java Build path---->libraries---->add jar/add external jars。还需要设置 java build path 的order and export选项选中添加的jar包,这样jar包才能添加到apk中,才不会在运行时报错。
区别:法1不需要设置java build path 的order and export选项是因为order and export默认已经勾选当前工程、android private libraries 和 android dependencies。复制到libs目录相当于添加到android private libraries中。但是法2通过java build path 里的 add external jar 方法添加外部的jar包,不会添加上述的文件夹,会在当前工程视图中新建一个Referenced Libraries目录来存放jar包。
查看源码:
法1可以查看源码,法2目前没有找到查看源码的方法。
法1查看源码方法:来源http://stackoverflow.com/questions/9873152/how-to-attach-javadoc-or-sources-to-jars-in-libs-folder
Step by step guide
In order to link the sources and javadoc to a .jar library that is automatically linked by Eclipse you have to do the following:
- Place the library .jar file in the libs folder, and the associated source .jar and doc .jar files in separate subfolders such as libs/src and libs/docs. You can use a name other than src and docs if you want, but it's important that the .jar files aren't directly in the libs folder.
- Create a
.properties
file in the libs folder with the exact name of the actual library .jar (see example). Make sure you keep the .jar part. - Specify the relative paths to the sources and javadoc .jar in the
.properties
file. - Close and re-open the Eclipse project! Optionally, refresh the project by pressing F5.
- Select an object of the linked library in the source code.
- Open the Javadoc view in Eclipse to check the documentation (see screenshot).
- Open the source code declaration (default shortcut: F3) of the selected object.
Example
The example uses the Gson library.
Directory structure of the libs folder:
Contents of gson-2.2.2.jar.properties
jar包查看源码需要 有 源码的jar文件 source .jar。获取源码jar文件,可以通过eclipse生成。
生成方法同上,Export --> Java --> Java File
然后选择:
- Eclipse 工程引用 与 Jar打包
- eclipse打包jar,引用外部jar
- Eclipse Maven工程 打包jar文件(包含依赖jar) 打包过程与执行说明
- Eclipse把Java工程打包成jar
- 将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)
- 将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)
- eclipse java程序打包成jar 引用外部jar包
- eclipse下Android工程引用工程或jar包
- 工程打包为jar,工程内引用的jar不能一同被打包。另外一个工程引用此jar,则把第一个工程引用的jar跟生成的jar放在同一个目录引用。
- 在Eclipse下将工程打包成jar格式
- 用eclipse将Java工程打包成jar包
- 将Eclipse工程打包成可执行的jar文件
- 使用Eclipse将工程打包成jar文件
- 在Eclipse中将Java工程打包成Jar包
- android 工程eclipse打包so和jar包混淆
- 打包+引用 jar
- Android工程打包成jar文件,并且将工程中引用的jar一起打入新的jar文件中
- Android Studio 将引用第三方jar包的android工程打包成jar包
- springMVC基础版--01基本配置
- char *a 与char a[] 的区别
- IOS 9 Remove CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
- Objective-C中的缓存
- Objective-C Runtime
- Eclipse 工程引用 与 Jar打包
- 畅通工程(并查集)
- 在某个目录下的所有文件的内容中,查找包含某个字符串的文件
- Windows安装Nginx并支持PHP
- 软件工程之可行性研究
- 加密解密与数字签名
- 设计模式(4)-迭代器模式Itarator
- DFS-BFS搜索专题【经典训练题】【有时间一个个做下来】
- 输入URL之后都发生了什么