关闭

从jar获取已打包文件(具体参考hibernate3的源代码)

标签: jarhibernateexception
1495人阅读 评论(0) 收藏 举报

1.创建jar对象
java.util.jar.JarFile jarFile;
java.io.File jar;

2.获取对象
try {
    jarFile = new JarFile( jar );
}
catch ( IOException ioe ) {
    log.error( "Could not configure datastore from jar: " + jar.getName(), ioe );
    throw new MappingException( "Could not configure datastore from jar: " + jar.getName(), ioe );
}

3.获取jar对象内的压缩文件对象
Enumeration jarEntries = jarFile.entries();

4.使用对象
while ( jarEntries.hasMoreElements() ) {
 ZipEntry ze = ( ZipEntry ) jarEntries.nextElement();
 if ( ze.getName().endsWith( ".hbm.xml" ) ) {
  log.info( "Found mapping documents in jar: " + ze.getName() );
  try {
   addInputStream( jarFile.getInputStream( ze ) );  // 重点-使用对象
   }
  catch ( MappingException me ) {
  throw me;
  }
  catch ( Exception e ) {
  log.error( "Could not configure datastore from jar: " + jar.getName(), e );
  throw new MappingException( "Could not configure datastore from jar: " + jar.getName(), e );
  }
 }
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:894635次
    • 积分:10725
    • 等级:
    • 排名:第1581名
    • 原创:177篇
    • 转载:90篇
    • 译文:4篇
    • 评论:106条
    文章分类
    最新评论
    Junit单元测试
    MQ
    正则表达式