美文网首页
java、spring获取项目下依赖jar中的某种资源文件,正则

java、spring获取项目下依赖jar中的某种资源文件,正则

作者: 把爱放下会走更远 | 来源:发表于2019-04-24 15:30 被阅读0次

    我是想在war项目中想获取下依赖的一个jar中lua脚本文件,projectA,依赖了otherA的一个项目(jar),otherA项目有几个lua脚本作为资源文件打包在jar中,现在在projectA中我想检测下所有的lua,尝试了很多方式获取;

    ①原生ClassLoader中取获取,其实应该是可以获取到的,但是源码调试了很久进去没有找到有用的地方,最后到了sun包,看不到源码,就放弃了

    ②最后还是想到了spring,因为spring里面有太多的工具类可以使用,最后再idea里面随便搜搜类,真的找到了,下面给出代码让大家参考下

    try {
    //这里的resourceLoader直接Autowired注入就好了,是spring容器中有的一个类
                ResourcePatternResolver resolver = ResourcePatternUtils.getResourcePatternResolver(resourceLoader);
                MetadataReaderFactory metaReader = new CachingMetadataReaderFactory(resourceLoader);
                Resource[] resources = resolver.getResources("classpath*:*.lua");
                for (Resource r : resources) {
                    System.out.println(r.getFilename());
                }
    
            } catch (Exception e) {
    
            }
    
    //得到解析文件内容
    String s = IOUtils.toString(r.getURL(), Charset.defaultCharset());
    //或者                IOUtils.toString(Channels.newInputStream(r.readableChannel()),Charset.defaultCharset());
    

    相关文章

      网友评论

          本文标题:java、spring获取项目下依赖jar中的某种资源文件,正则

          本文链接:https://www.haomeiwen.com/subject/kxuggqtx.html