项目 中需要引入第三方的jar 是阿里的OSS 功能
这里我需要实现的功能是 从OSS 实现定时下载 文件的功能
问题:由于原项目中 存在其他第三方包 ,讲阿里的oss.jar 引入后,双方的依赖包产生冲突,并且无法解决当前的jar 冲突包
解决方法:oss 功能独立成可执行jar ,使用linux 的crontab 来定时调用
第一步:新建java 项目
新建普通的java 项目在这不演示了,就是最简单的Java Project 即可
//主类
public class Test1 {
public static void main(String[] args) {
String downfileName = args[0];//下载文件名称
String downDate =args[1];//下载日期
/**
* 下载逻辑 ... 按需添加
*/
//下载完成
System.out.println(downfileName+"文件下载成功,文件日期为:"+downDate);
}
}
测试时,需要填写参数 如下图
右击Test1.java文件----> Run As ------>选择 Run Configration…
在Java Application 中 选择对应项目和运行的类(第一次可能需要手动选中)
配置好参数,多参数以空格分隔
生成可执行的jar 包
生成以Test1.java 为主函数的 可执行 jar
右击项目, export -----> 选择 Runnable JAR file
选择Launch configuration 就是主类,后面一直下一步即可
使用java -jar 包名 参数 即可使用
第二步:新建shell 执行文件
在Linux 系统下
touch startOssdownFile.sh ----新建文件
vi startOssdownFile.sh — 编辑文件
#!/bin/bash
#获取当前日期
currDate=`date +%Y%m%d_%T`
#启动执行jar
nohup java -jar OssFileDown.jar product.txt ${currDate} &
echo "down end"
最后别忘了给 startOssdownFile.sh 赋上执行权限
chmod +x startOssdownFile.sh
第三步:设置定时执行命令
crontab -e
*/60 * * * * sh /home/user/startOssdownFile.sh >> /home/user/logs/ossdown.log