如何获取运行maven的机器的临时文件夹?

时间:2016-03-23 14:47:50

标签: java linux windows maven pom.xml

我想将一些解压缩的文件保存到计算机的临时文件夹中。

问题:如何使用maven获取临时文件夹?

问题:它是否适用于Linux和Windows环境?

2 个答案:

答案 0 :(得分:8)

Maven supports,作为默认属性的一部分,任意Java System property,因此您可以使用以下属性:

  

java.io.tmpdir 默认临时文件路径

例如:

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-dependency-plugin</artifactId>
     <version>2.10</version>
     <executions>
       <execution>
         <id>unpack</id>
         <phase>package</phase>
         <goals>
           <goal>unpack</goal>
         </goals>
         <configuration>
           <!-- further conf here -->
           <outputDirectory>${java.io.tmpdir}/libs</outputDirectory>
         </configuration>
       </execution>
     </executions>
</plugin>

请注意outputDirectory元素及其值。

另外请注意,还要注意Maven构建的target文件夹也用于托管临时文件,因此您还应考虑将其用于此目的。

  

它适用于Linux和Windows环境吗?

是的,因为它是Java属性,所以它应该是独立于操作系统的。

答案 1 :(得分:2)

使用java环境tmp目录 - java.io.tmpdir 您可以通过${java.io.tmpdir}从maven访问它,而无需预定义它。

您还可以通过运行以下内容在特定运行中对其进行自定义:

mvn clean install -Djava.io.tmpdir=/tmp/where/ever