IDEA导入Eclipse普通传统Java项目问题
问题重现
并不是网站项目,无法打war包。又不是maven管理项目,无法使用maven打包。
打包过程
工作中,我需要用IDEA把这个项目导入了进来,尝试用IDEA打Jar包方式,在网上有一堆打Jar的教程,但是前提是IDEA创建的普通Java项目。 使用
java -jar XXXX.jar
提示“找不到启动类Schedule.application”,但是打包过程中,我明明指定了启动类和根目录,重复好几次打包,最终都失败了。 最后让旁边的老员工帮忙,也是无能为力。
原因:我导入的项目是使用Eclipse开发的,因此打包后,在项目环境上存在一些问题。我下载Eclipse进行打包,打包流程网站上一大堆,打包完,运行直接成功了。
File文件权限问题
测试人员把tmp目录权限改成只可读,不可写的权限。而后端代码里面,存在一段代码: file path:tmp/****
fileItem.write(file);
然后进行测试,写文件的过程居然没有报错…一万个mmp跑过去。 但是问题总得解决,我进行多次测试后(把服务器内存撑满了),发现每提交一次文件,服务器的内存就增加了多少。也就是文件数据全放在内存,没有写入磁盘,这也就是为什么没报错的原因吧。。
try {
if(file.canWrite()){
fileItem.write(file);
}else {
throw new FileNotFoundException("请检查是否有写入权限,文件路径文件"+file.getAbsolutePath());
}
} catch (Exception e) {
log.error("写临时文件tmp.apk失败,ERROR:"+e.toString());
}
file.canWrite()用来判断服务器文件是否有写权限。如果没有则进行额外处理,有则写入磁盘;
Navicat安装破解
平时我都是用sqlyog连接数据库,被同事看到后,直接说使用Navicat吧,开发人员全体统一,然后就发了Navicat安装和破解教程给我; 网址如下:https://defcon.cn/214.html
结论
对于这种传统普通Java项目,用Eclipse开发的项目还是用Eclipse打包合适一点。否则就是浪费时间。
|