第一阶段:
程序中想要一个能够处理数字影音的功能。
读取上传视频文件的时长
最终采取的方法是
[java] view plain copy
private String ReadVideoTime(File source) {
Encoder encoder =new Encoder();
String length=“ ” ;
try {
MultimediaInfo m = encoder.getInfo(source);
long ls = m.getDuration()/1000;
int hour = (int) (ls/3600);
int minute = (int) (ls%3600)/60;
int second = (int) (ls-hour*3600-minute*60);
length = hour+"小时"+minute+"分"+second+"秒";
}catch (Exception e) {
e.printStackTrace();
}
return length;
}
但这需要import两个类
[java] view plain copy
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.MultimediaInfo;
那么问题来了,maven库里没有这个包,用maven编译也没用
下载“jave-1.0.2.jar”
下载链接:http://download.csdn.net/detail/xiaofei_9070/9650294
手动,外部引入包,第一阶段完成
(记得在(本地磁盘的tomcat安装处)apache-tomcat-7.0.82\lib下也扔一份包)
第二阶段:
但是,本地手动导入不行啊,要上传SVN
孩子啊,你要努力成为一名让团队里的每一个后端都可以用、可以读得舒服的代码!
在resource下,新建lib,里面放进一个小小的“jave-1.0.2.jar”
在pom.xml中写一小段
[html] view plain copy
it.sauronsoftware.jave
jave
1.0.2
system
${project.basedir}/src/main/resources/lib/jave-1.0.2.jar
这一小段我一直没有在网上找到正确的对应“jave-1.0.2.jar”的写法
不是很明白groupId和artifactId的意义
其中的基本概念最后也不是特别清晰有待探索,但是可以说的是
groupId是该包中的目录结构
artifactId就是XXX.jar
systemPath是包在项目中的路径
如何获取包中的目录:
用压缩文件的形式打开.jar文件,并不用解压,直接预览,发现文件目录结构
我们可以看到文件的目录结构是:it.sauronsoftware.jave
这是我观察网上大量写的规律的出的结果
但是还是知其然不知所以然,很惭愧
不管怎么样于是乎,终于可以不用手动依赖外部包了
开开心心
第三阶段:
但是,在程序跑起来之前,控制台会报一些错
虽然并不影响程序 ,但是看得很让人伤心
org.apache.tomcat.util.bcel.classfile.ClassFormatException: It is not a Java .class file
【文字写一条错误方便大家搜索】
【就算报了这么多错,之后真的可以顺利地跑起来!相信我!】
这些报错大概就是说,这些.class文件我没法顺利地破解读取
我在网上搜索了很多解决方法,主要分为两个流派
.class文件在解密的过程中发生错误无法顺利地解密,建议在catalina.properties文件 的tomcat.util.scan.DefaultJarScanner.jarsToSkip中添加DB2驱动的Jar包文件名如”db2jcc4.jar” 即可。
使用Tomcat8.0+
方法1,我试过了没有用哦,可能针对的不是我这个问题,我这个可能不是解密的报错?
方法2,我直接问公司里的前辈会不会发生冲突,得到了“肯定会冲突”的回答,万念俱灰
我至少放弃了两次
“又不是不能用,凑合凑合用呗就当看不到了”
【对未成年或成年人的警示!!!无论你几岁,无论你在学习还是工作还是谈恋爱,如果产生这种想法,随便用什么方法打自己一下,形成厌恶反射,进入人生新高度,客气了不用谢我】
终于,在某次浏览无数网上漫无目的的资料后,脑中灵感闪现
用方法1结合了“jave-1.0.2.jar”
在tomcat的server文件夹下找到还是catalina.properties文件中加入一行“,/[回车]jave-*.jar”
【是键入回车!!!enter!!!不是让你打“回车”两个字!!!醒醒!!!!】