java导出成jar(含有第三方jar和配置文件)
来源:互联网 发布:pop3协议默认端口号 编辑:程序博客网 时间:2024/05/22 00:19
昨天在写工具的时候遇到要将java程序打成jar文件的若干小问题,因为自己之前完全没有接触,现在总结下这个过程中遇到的问题方便自己以后查阅,也希望帮到有这个需求的菜鸟们,节约查阅资料的时间。
现将问题列出如下:
Q1:JAVA代码调用数据库存储过程问题
Answer:不说那么多,直接上代码,一看就明白(前后的一些其他部分省略):
//getBillResult:存储过程名,?为参数String sql1 = "{call getBillResult(?)}"; CallableStatement statement = null;statement = conn.prepareCall(sql1);statement.setString(1, strings);//设置传入参数的值rst2 = statement.executeQuery();OK ,大概就是这样的一个过程。如果详细想了解CallableStatement对象的可以参看这篇文章《CallableStatement的用法 》;如果存储过程中定义有输出参数,不是我这种直接的select返回结果集的,在设置输出参数的时候会用到 callableStatement.registerOutParameter(?,?)这个方法,这个也可以看看这篇博客《jdbc调用带输出参数的存储过程》。
Q2:java文件导出成可执行的jar
Answer:使用fatjar,这个是Eclipse的一个插件,下载地址我也放了一个我资源里面,fatjar_0.0.31。插件的安装方式很多,我觉得最简单的就是将解压到的jar文件(不包含任何文件夹)直接放到Eclipse的plugins目录下重启完成即可。成功安装完成后,右键项目的时候就会有如图的变化:
后面导出的步骤就简单啦,根据提示找到main-class,然后next后根据需要选择output,一般默认就OK,然后就finish了。导出的jar默认是在自己的project下的
Q3:jar文件需要使用可改动的配置文件
Answer:例如我们链接数据库的配置文件,需要放在外面方便更改。一般项目的时候配置文件我们都会放在src目录或者专门的resource目录下,在编译的时候最终都是直接放到了classpath的目录下,jvm也是从这个目录去找然后加载。下面是我们一般的写法:
<strong>properties.load(DBUtil.class.getClassLoader().getResourceAsStream("/db.properties"));</strong>
当我们需要将jar文件放在同一个目录下,方便改动,代码如下:
<strong>properties.load(new FileInputStream("db.properties"));</strong>
OK,至此我们的这个需求就完成了。同时需要注意的一点是当我们自己开发JDK 的版本高于用户的版本的时候,本地执行没问题,客户执行jar文件可能会报main class not found的异常,这个我是将自己的版本降下来重新编译导出新的jar。
- java导出成jar(含有第三方jar和配置文件)
- 使用Eclipse把java文件打包成jar 含有第三方jar库的jar包
- 使用Eclipse把java文件打包成jar 含有第三方jar库的jar包
- 【JAVA】将工程导出为含有第三方包的jar包
- java项目导出jar包,引入第三方jar包
- java项目导出jar包,引入第三方jar…
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- eclipse打包含有第三方jar库的jar包
- 将java项目导出为jar包+导出第三方jar包+使用命令行调用+传参
- Java如果有第三方jar包如何导出变成可执行的jar文件
- Android引入第三方jar包和自制导出jar包的方法
- Eclipse导出jar包含有第三方的jar包
- ava项目导出jar包,引入第三方jar包。
- MyEclipse导出jar包 引入第三方jar包
- 解决Xcode上传出现的Error ITMS-9000问题
- sem_init,sem_post,sem_wait 信号量的用法解释
- 调用系统计算器 android(适用于不同品牌)
- dsa算法(13)
- Starting Tomcat v7.0 Server at localhost' has encountered a problem.
- java导出成jar(含有第三方jar和配置文件)
- android控件显示顺序控制
- 在Unity3D中使用ScriptableObject进行序列化
- Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- JAVA操作properties文件
- 《Deep Learning Face Representaion from Predicting 10000 Classes》读书报告
- JavaFX 使用实例
- android-eventbus
- c/c++内存分配与内存对齐全面探讨