SSM+tomcat+Maven,自动依赖外部引入包

第一阶段:

        程序中想要一个能够处理数字影音的功能。

        读取上传视频文件的时长

        最终采取的方法是

    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两个类

    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中写一小段

        <dependency>
            <groupId>it.sauronsoftware.jave</groupId>
            <artifactId>jave</artifactId>
            <version>1.0.2</version>
             <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/jave-1.0.2.jar</systemPath>
        </dependency>

       这一小段我一直没有在网上找到正确的对应“jave-1.0.2.jar”的写法

       不是很明白groupIdartifactId的意义

       其中的基本概念最后也不是特别清晰有待探索,但是可以说的是

       groupId是该包中的目录结构

       artifactId就是XXX.jar

       systemPath是包在项目中的路径

      如何获取包中的目录:

       用压缩文件的形式打开.jar文件,并不用解压,直接预览,发现文件目录结构

      我们可以看到文件的目录结构是:it.sauronsoftware.jave


       这是我观察网上大量写<dependency>的规律的出的结果

       但是还是知其然不知所以然,很惭愧

       不管怎么样于是乎,终于可以不用手动依赖外部包了

       开开心心

第三阶段:

       但是,在程序跑起来之前,控制台会报一些错

       虽然并不影响程序 ,但是看得很让人伤心


         org.apache.tomcat.util.bcel.classfile.ClassFormatException: It is not a Java .class file

       【文字写一条错误方便大家搜索】

       【就算报了这么多错,之后真的可以顺利地跑起来!相信我!】

         这些报错大概就是说,这些.class文件我没法顺利地破解读取

         我在网上搜索了很多解决方法,主要分为两个流派

  1. .class文件在解密的过程中发生错误无法顺利地解密,建议catalina.properties文件 的tomcat.util.scan.DefaultJarScanner.jarsToSkip中添加DB2驱动的Jar包文件名如”db2jcc4.jar” 即可。         
  2. 使用Tomcat8.0+

       方法1,我试过了没有用哦,可能针对的不是我这个问题,我这个可能不是解密的报错?

       方法2,我直接问公司里的前辈会不会发生冲突,得到了“肯定会冲突”的回答,万念俱灰

       我至少放弃了两次

        “又不是不能用,凑合凑合用呗就当看不到了”

        【对未成年或成年人的警示!!!无论你几岁,无论你在学习还是工作还是谈恋爱,如果产生这种想法,随便用什么方法打自己一下,形成厌恶反射,进入人生新高度,客气了不用谢我】

          终于,在某次浏览无数网上漫无目的的资料后,脑中灵感闪现

          用方法1结合了“jave-1.0.2.jar”

           在tomcat的server文件夹下找到还是catalina.properties文件中加入一行“,/[回车]jave-*.jar”

            【是键入回车!!!enter!!!不是让你打“回车”两个字!!!醒醒!!!!】

       


       顺利解决报错问题哈哈哈哈哈哈哈哈哈哈哈哈!!!!!!

    【初出茅庐,请多指教。【鞠躬】】

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页