JarInputStream Sample2

本文提供了一段Java代码示例,演示了如何在Java中读取并复制一个JAR文件到另一个JAR文件,包括读取JAR条目、写入到新的JAR文件并关闭流。

public static void cpJar() {
try {
JarInputStream jarIn = new JarInputStream(new FileInputStream("inputJar.jar"));
JarOutputStream jarOut = new JarOutputStream(new FileOutputStream("outputJar.jar"));
byte[] buf = new byte[4096];
JarEntry entry;
while ((entry = jarIn.getNextJarEntry()) != null) {
   jarOut.putNextEntry(entry);
  int read;
  while ((read = jarIn.read(buf)) != -1) {
   jarOut.write(buf, 0, read);
  }
  jarOut.closeEntry();
   }
   jarOut.flush();
  jarOut.close();
  jarIn.close();
} catch (Exception e) {
e.printStackTrace();
}
}

java.lang.reflect.UndeclaredThrowableException at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1747) at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:411) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.doDownloadCall(ContainerLocalizer.java:248) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.call(ContainerLocalizer.java:241) at org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer$FSDownloadWrapper.call(ContainerLocalizer.java:229) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.hadoop.yarn.exceptions.YarnException: Download and unpack failed at org.apache.hadoop.yarn.util.FSDownload.downloadAndUnpack(FSDownload.java:306) at org.apache.hadoop.yarn.util.FSDownload.verifyAndCopy(FSDownload.java:283) at org.apache.hadoop.yarn.util.FSDownload.access$000(FSDownload.java:67) at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:414) at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:411) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729) ... 10 more Caused by: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP-1256076108-192.168.10.128-1716624115943:blk_1073742243_1419 file=/tmp/hadoop-yarn/staging/hadoop/.staging/job_1747962999130_0001/job.jar at org.apache.hadoop.hdfs.DFSInputStream.refetchLocations(DFSInputStream.java:875) at org.apache.hadoop.hdfs.DFSInputStream.chooseDataNode(DFSInputStream.java:858) at org.apache.hadoop.hdfs.DFSInputStream.chooseDataNode(DFSInputStream.java:837) at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:566) at org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:756) at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:825) at java.io.DataInputStream.read(DataInputStream.java:149) at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:100) at org.apache.commons.io.input.TeeInputStream.read(TeeInputStream.java:129) at java.io.FilterInputStream.read(FilterInputStream.java:133) at java.io.PushbackInputStream.read(PushbackInputStream.java:186) at java.util.zip.ZipInputStream.readFully(ZipInputStream.java:403) at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:278) at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:122) at java.util.jar.JarInputStream.<init>(JarInputStream.java:83) at java.util.jar.JarInputStream.<init>(JarInputStream.java:62) at org.apache.hadoop.util.RunJar.unJar(RunJar.java:114) at org.apache.hadoop.util.RunJar.unJarAndSave(RunJar.java:167) at org.apache.hadoop.yarn.util.FSDownload.unpack(FSDownload.java:354) at org.apache.hadoop.yarn.util.FSDownload.downloadAndUnpack(FSDownload.java:303) ... 17 more Caused by: Download and unpack failed org.apache.hadoop.yarn.exceptions.YarnException: Download and unpack failed at org.apache.hadoop.yarn.util.FSDownload.downloadAndUnpack(FSDownload.java:306) at org.apache.hadoop.yarn.util.FSDownload.verifyAndCopy(FSDownload.java:283) at org.apache.hadoop.yarn.util.FSDownload.access$000(FSDownload.java:67) at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:414) at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:411) at java.security.AccessController.doPrivileged(Native Method)
05-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值