如何在Java中为temp dirs配置root
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Java中为temp dirs配置root,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1901字,纯文字阅读大概需要3分钟。
内容图文
![如何在Java中为temp dirs配置root](/upload/InfoBanner/zyjiaocheng/774/fa9c2e183d46421481ca9192fdb99e2a.jpg)
我们运行代码来执行创建临时目录的标准:
import java.nio.file.Files;
然后:
tmp = Files.createTempDirectory("ourprefix-");
这有效地创建了/ tmp /下的目录,以便我们得到/ tmp / ourprefix-1234之类的东西.
不幸的是,这个基本目录/ tmp /似乎是固定的,因为在我们的构建服务器上很多东西都倾向于把它们的临时内容放在那里,因为/ tmp /所在的分区很小,这是一个问题.
有没有办法从外部配置此工具(即不更改代码)?我猜想/ tmp /是一个默认值,可以通过设置一个特殊的环境变量或(更多Javaish)将特殊属性传递给编译器来覆盖(例如-Djava.tmp.root = / path / to / my / larger /分区/ TMP).
我尝试使用java.io.tmpdir,但设置它没有任何效果;它似乎是默认值,如果没有赋予createTempDirectory(),但在我们的例子中,代码传递一个前缀.
知道如何在不改变源代码的情况下实现我想要的东西吗?
编辑
经过一番调查,我发现这很好用:
import java.nio.file.Path;
import java.nio.file.Files;
import java.io.IOException;
public class TestTempDir {
public static void main(String[] args) throws IOException {
System.out.println(System.getProperty("java.io.tmpdir"));
Path path = Files.createTempDirectory("myprefix-");
System.out.println(path.toFile().getAbsolutePath());
}
}
使用javac TestTempDir.java编译,使用mkdir tmp进行准备并使用java -Djava.io.tmpdir = pwd / tmp TestTempDir运行,这只是按预期工作:
/my/work/path/tmp
/my/work/path/tmp/myprefix-1525078348397347983
我的问题似乎是Jenkins及其Maven插件,它没有将设置属性传递给测试用例: – /
解决方法:
如果在运行JVM时将java.io.tmpdir属性作为自定义JVM属性传递,它应该可以工作.
像这样的东西:
java -Djava.io.tmpdir=myPath myClass
我测试了它的工作原理:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public class TestTempDir {
public static void main(String[] args) throws IOException {
System.out.println(System.getProperty("java.io.tmpdir"));
Path dir = Files.createTempDirectory("helloDir");
System.out.println(dir.toString());
}
}
$java -Djava.io.tmpdir=D:\temp TestTempDir
D:\temp
D:\temp\helloDir5660384505531934395
内容总结
以上是互联网集市为您收集整理的如何在Java中为temp dirs配置root全部内容,希望文章能够帮你解决如何在Java中为temp dirs配置root所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。