java导出成jar(含有第三方jar和配置文件)
2014-10-24 11:51
253 查看
昨天在写工具的时候遇到要将java程序打成jar文件的若干小问题,因为自己之前完全没有接触,现在总结下这个过程中遇到的问题方便自己以后查阅,也希望帮到有这个需求的菜鸟们,节约查阅资料的时间。
现将问题列出如下:
Q1:JAVA代码调用数据库存储过程问题
Answer:不说那么多,直接上代码,一看就明白(前后的一些其他部分省略):
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也是从这个目录去找然后加载。下面是我们一般的写法:
当我们需要将jar文件放在同一个目录下,方便改动,代码如下:
OK,至此我们的这个需求就完成了。同时需要注意的一点是当我们自己开发JDK 的版本高于用户的版本的时候,本地执行没问题,客户执行jar文件可能会报main class not found的异常,这个我是将自己的版本降下来重新编译导出新的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。
相关文章推荐
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- 使用Eclipse把java文件打包成jar 含有第三方jar库的jar包
- Eclipse 导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- 使用Eclipse把java文件打包成jar 含有第三方jar库的jar包
- Eclipse导出可执行Java工程/可执行Jar文件(包含第三方Jar包)
- 使用Eclipse把java文件打包成jar 含有第三方jar库的jar包
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- 用eclipse导出jar文件时加入第三方jar包的支持
- JAVA----Hibernate介绍与配置文件、jar包的说明(一)
- 用java读取解析一个含有变量的配置文件
- 用Java作为默认程序打开Eclipse导出的jar文件
- myeclipse中将项目(java project)导出jar或.exe文件
- ant 编译java工程并导出jar文件
- myeclipse中将项目(java project)导出jar或.exe文件 .
- java运行jar文件或者含有jar包的文件(未完)
- android工程中引入第三方JAR包后安装APK时老是提示找不到库文件 || Android如何将程序打成jar包 || 运行java.lang.noclassdeffounderror错误