Java项目打包在CMD或者Linux下运行
1、在CMD下运行
在eclipse中将项目export成jar包,然后用压缩软件解压
解压后,在CMD中进入项目根目录下,运行程序:
Oracle2Redis-jar>java -cp .\lib\*; oracle.xxx.xx.cn.ReadOracle2Redis
2、在Linux中运行
把解压后的文件夹上传到Linux系统中,在项目根目录中运行:
java -cp ./lib/*: oracle.xxx.xx.cn.ReadOracle2Redis (跟Windows下路径分隔符(\ vs /)和结束符(; vs :)都不一样)
ps:
我需要定时增量的读数据库表,所以每次读取数据前要读配置文件里的seq值,标志已经读取完了的行数,读完增量数据再在文件里记录当前已读的行号seq。
用ResourceBundle读取配置文件里的seq值,该类会在项目根目录下搜索配置文件,然后去读里面的数据。
eclipse中在src目录下创建的配置文件,eclipse会在编译的时候自动在项目根目录下创建bin文件夹,并把配置文件拷到bin文件夹下,当代码运行的时候优先搜索bin文件夹下的配置文件。也就是说会优先读bin目录下的配置文件,如果写配置文件是往src目录下的配置文件写的话,就会导致读写不是同一文件的情况。
那么有人会问为什么不同时读写bin目录下的配置文件呢,因为eclipse导出jar包的时候不会创建bin文件夹,所以不行。
所以写文件的时候应该往src目录下的配置文件写(eclipse中调试会出现读写不一致,读的bin目录下,写的是src目录下),这样在运行jar包的时候读写都是同一个文件(jar包中木有bin目录,都是用的src下的),也不会出现找不到文件的情况。