关于Java项目打包
可以选择以下几种办法:
一、使用Eclipse,右键项目导出jar。
二、使用Eclipse,右键项目导出runnable jar。
三、使用Eclipse 插件fat jar,导出可执行的jar包。
现在有这样一个开发场景:
第一个项目:A1
第二个项目:B2
第三个项目:U3
几个条件和关系:
U3引用了第三方库log4j.jar和common-io.jar。
B2引用了项目U3。
A1引用了项目B2。
我想实现这样一个操作:
U3和第三方库打包成一个jar包【u3.jar】。
u3.jar导入项目B2,打包成一个新的jar包【b2.jar】。
b2.jar导入项目A1,供A1使用。
目的很简单:
导入一个b2.jar即可,而不用导入各种第三方库。
尝试了各种打包方法都失败了。
看起来u3.jar里包含log4j.jar和common-io.jar,然后项目A1提示找不到相关类!
又是几个小时过去了,有点儿沮丧不是吗?
然而这只是一个思路可行性的问题。
看起来jar包都有,但是从A1里加载class的时候是找不到的,因为路径不对。
转念过来讲,以项目依赖的提示单独导入第三方库其实更科学。
来看这样一种情况:
新项目u4也使用了第三方库log4j-1.0.jar。
U4和第三方库打包成一个jar包【u4.jar】。
u3.jar和u4.jar中的第三方库都能生效。
项目A1同时导入了u3.jar和u4.jar,看起来,冲突的场景出现了呢。
就算log4j.jar的版本是一致的,加载了多个相同的jar包,也不是很优雅的吧。
所以,将项目打包成被引用jar包,只打自己写的类,将第三方jar包以依赖的方式提供更科学。
关于Java项目打包的更多相关文章
- Java项目打包在CMD或者Linux下运行
Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压
- Java学习之道:Java项目打包发布
Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...
- java项目打包成可运行的jar,main方法带参数
转载 原文地址:http://www.cnblogs.com/neillee/p/6063808.html#commentform 将 java 项目打包成可运行的 jar 包(main 函数带参数) ...
- Java项目打包成exe的详细教程
Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...
- Maven将java项目打包生成可运行jar
Maven将java项目打包生成可运行jar Maven插件配置 <plugins> <plugin> <groupId>org.apache.maven.plug ...
- Java项目打包发布
Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...
- 将Java项目打包成可以独立运行的Jar包
因为一直也没怎么用过Java的原因,所以以前本科上课的时候,在控制台下运行Java程序都是仅仅运行单个的没有第三方库依赖的情况下运行的 那种情况特别简单,只要输入Javac 文件名.java等到编译完 ...
- 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行
一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...
- Java项目打包工具安装失败解决方法
在学习Java的时候我们打包项目但遇到例如以下情况:(提示没有找到java的执行环境! ) 网上眼下有两中的解决方式: (1)选择本地jdk环境; (2)下载Download 可是第一种选择本地老是失 ...
随机推荐
- 【iCore3 双核心板_ uC/OS-III】例程九:任务信号量
实验指导书及代码包下载: http://pan.baidu.com/s/1c1W29uK iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 奥迪--A4L
-型号:A4L -价格:30-41W -动力:2T -变速箱:7挡双离合 -长宽高:4.81,1.84,1.43 -油箱:54L -发动机:EA888 -大灯:氙气(选装LED)
- 有关segue的简介
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { ViewControllerB *vc = segue ...
- 多线程 - CountDownLatch
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDown() 方法,所以在当前计数到达 ...
- Jmeter工作原理
- cocos2dx 3.x(定时器或延时动作自动调用button的点击响应事件)实现自动内测
// // ATTGamePoker.hpp // MalaGame // // Created by work on 2016/11/09. // // #ifndef ATTGamePoker_h ...
- web server && web framework角色区分
问题 web framework是否包括webserver? 是否可以包括? webserver 和 framework的关系是? https://www.quora.com/What-is-the- ...
- Web前端开发规范文档
Web前端开发规范文档 规范目的: 使开发流程更加规范化. 通用规范: TAB键用两个空格代替(windos下tab键占四个空格,linux下TAB键占八个空格). CSS样式属性或者JAVASCRI ...
- oracle生成主键
SELECT 'ZTO'||TO_CHAR(SYSDATE,'yymmdd')||TO_CHAR(SEQ_COMMON_ORDER.NEXTVAL,'FM00000000') AS orderCode ...
- CTeX学习心得总结
CTeX 又称 CTeX中文套装,是基于 Windows 下的 MiKTeX 的发行版,集成了编辑器WinEdt 和 PostScript 处理软件 Ghostscript 和 GSview 等主要工 ...