code: public static void unZip(String jar, String subDir, String loc, boolean force){
          try {
              File base=new File(loc);
              if(!base.exists()){
                  base.mkdirs();
              }
              
              ZipFile zip=new ZipFile(new File(jar));
              Enumeration<? extends ZipEntry> entrys = zip.entries();
              while(entrys.hasMoreElements()){
                  ZipEntry entry = entrys.nextElement();
                  String name=entry.getName();
                  if(!name.startsWith(subDir)){
                      continue;
                  }
                  //去掉subDir
                  name=name.replace(subDir,"").trim();
                  if(name.length()<2){
                      LOG.debug(name+" 长度 < 2");
                      continue;
                  }
                  if(entry.isDirectory()){
                      File dir=new File(base,name);
                      if(!dir.exists()){
                          dir.mkdirs();
                          LOG.debug("创建目录");
                      }else{
                          LOG.debug("目录已经存在");
                      }
                      LOG.debug(name+" 是目录");
                  }else{
                      File file=new File(base,name);
                      if(file.exists() && force){
                          file.delete();
                      }
                      if(!file.exists()){
                          InputStream in=zip.getInputStream(entry);
                          Files.copy(in, file.toPath());
                          LOG.debug("创建文件");
                      }else{
                          LOG.debug("文件已经存在");
                      }
                      LOG.debug(name+" 不是目录");
                  }
              }
          } catch (ZipException ex) {
              LOG.error("文件解压失败",ex);
          } catch (IOException ex) {
              LOG.error("文件操作失败",ex);
          }
      }
docs: APDPlat中的重要打包机制
  将jar文件中的某个文件夹里面的内容复制到某个文件夹
  @param jar 包含静态资源的jar包
  @param subDir jar中包含待复制静态资源的文件夹名称
  @param loc 静态资源复制到的目标文件夹
  @param force 目标静态资源存在的时候是否强制覆盖