Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell11
提交
cfd1a8ef
D
dragonwell11
项目概览
openanolis
/
dragonwell11
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell11
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cfd1a8ef
编写于
2月 28, 2017
作者:
S
sherman
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8174996: jar leaves temporary file when exception occur in creating jar
Reviewed-by: psandoz
上级
cb72a052
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
9 deletion
+13
-9
jdk/src/jdk.jartool/share/classes/sun/tools/jar/Main.java
jdk/src/jdk.jartool/share/classes/sun/tools/jar/Main.java
+13
-9
未找到文件。
jdk/src/jdk.jartool/share/classes/sun/tools/jar/Main.java
浏览文件 @
cfd1a8ef
...
...
@@ -237,6 +237,7 @@ public class Main {
if
(!
parseArgs
(
args
))
{
return
false
;
}
File
tmpFile
=
null
;
try
{
if
(
cflag
||
uflag
)
{
if
(
fname
!=
null
)
{
...
...
@@ -303,8 +304,8 @@ public class Main {
?
"tmpjar"
:
fname
.
substring
(
fname
.
indexOf
(
File
.
separatorChar
)
+
1
);
File
tmpf
ile
=
createTemporaryFile
(
tmpbase
,
".jar"
);
try
(
OutputStream
out
=
new
FileOutputStream
(
tmp
f
ile
))
{
tmpF
ile
=
createTemporaryFile
(
tmpbase
,
".jar"
);
try
(
OutputStream
out
=
new
FileOutputStream
(
tmp
F
ile
))
{
create
(
new
BufferedOutputStream
(
out
,
4096
),
manifest
);
}
if
(
nflag
)
{
...
...
@@ -313,16 +314,16 @@ public class Main {
Packer
packer
=
Pack200
.
newPacker
();
Map
<
String
,
String
>
p
=
packer
.
properties
();
p
.
put
(
Packer
.
EFFORT
,
"1"
);
// Minimal effort to conserve CPU
try
(
JarFile
jarFile
=
new
JarFile
(
tmp
f
ile
.
getCanonicalPath
());
try
(
JarFile
jarFile
=
new
JarFile
(
tmp
F
ile
.
getCanonicalPath
());
OutputStream
pack
=
new
FileOutputStream
(
packFile
))
{
packer
.
pack
(
jarFile
,
pack
);
}
if
(
tmp
f
ile
.
exists
())
{
tmp
f
ile
.
delete
();
if
(
tmp
F
ile
.
exists
())
{
tmp
F
ile
.
delete
();
}
tmp
f
ile
=
createTemporaryFile
(
tmpbase
,
".jar"
);
try
(
OutputStream
out
=
new
FileOutputStream
(
tmp
f
ile
);
tmp
F
ile
=
createTemporaryFile
(
tmpbase
,
".jar"
);
try
(
OutputStream
out
=
new
FileOutputStream
(
tmp
F
ile
);
JarOutputStream
jos
=
new
JarOutputStream
(
out
))
{
Unpacker
unpacker
=
Pack200
.
newUnpacker
();
...
...
@@ -332,9 +333,9 @@ public class Main {
Files
.
deleteIfExists
(
packFile
.
toPath
());
}
}
validateAndClose
(
tmp
f
ile
);
validateAndClose
(
tmp
F
ile
);
}
else
if
(
uflag
)
{
File
inputFile
=
null
,
tmpFile
=
null
;
File
inputFile
=
null
;
if
(
fname
!=
null
)
{
inputFile
=
new
File
(
fname
);
tmpFile
=
createTempFileInSameDirectoryAs
(
inputFile
);
...
...
@@ -425,6 +426,9 @@ public class Main {
}
catch
(
Throwable
t
)
{
t
.
printStackTrace
();
ok
=
false
;
}
finally
{
if
(
tmpFile
!=
null
&&
tmpFile
.
exists
())
tmpFile
.
delete
();
}
out
.
flush
();
err
.
flush
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录