Menyimpan Tomcat di local folder untuk deploy menggunakan Maven

Salah satu kegunaan Maven membuat task-task dalam hal test dan deploy aplikasi Java. Untuk setting Application Server yang akan digunakan, maka pada pom.xml akan di-set url kemudian disimpan pada temp folder/directory dan di-extract di folder tertentu. Namun, hal tersebut akan berulang-ulang dilakukan, karena setiap reboot, semua yang ada pada temp directory akan dihapus dan Application Server akan di-download ulang.

Untuk mensiasati perulangan tersebut (download kemudian extract file), file Application Server yang berhasil di-download di-copy atau di-pindah ke local folder misal /Documents/project. Sehingga setiap kali deploy, maka maven akan mencari dan menggunakan Application Server yang telah tersimpan.

Berikut kode pom.xml nya:

<configuration>
 <container>
 <containerId>tomcat6x</containerId>
 <type>installed</type>
 <zipUrlInstaller>
   <url>http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.33/bin/apache-tomcat-6.0.33.zip</url>
   <downloadDir>${java.io.tmpdir}</downloadDir>
   <extractDir>${java.io.tmpdir}</extractDir>
 </zipUrlInstaller>
 </container>
 </configuration>

Masuk dari ke temp directory, kemudian copy folder Application Server (folder berasal dari file Application Server yang telah di-extract) ke folder local yang kita tujuan. Temp directory untuk Mac OS telah saya bahas pada posting sebelumnya.

cd /var/folders/-L/-L0PjnmXG+GmH1yR8Ig8Fk+++TI/-Tmp-/
cp -r apache-tomcat-6.0.33/* /Users/diansavitri/Documents/project/

Kemudian ubah pom.xml di atas menjadi:

<configuration>
<container>
 <containerId>tomcat6x</containerId>
 <type>installed</type>
 <home>/Users/diansavitri/Documents/project/apache-tomcat-6.0.33</home>
 </container>
 </configuration>

Coba kode tersebut dengan command deploy seperti biasa.

mvn clean install

Temporary Directory (Java.io.temdir) di Mac OS

Temporary Directory atau folder sementara adalah tempat/path directory untuk menyimpan file-file yang sifatnya temporary dan akan dihapus pada saat kita reboot komputer.

Untuk keamanan biasanya orang mengkonfigurasi temp directory-nya sendiri. Akan tetapi secara default setiap OS memiliki setting path temp directory-nya masing-masing.

Pada OS windows path temp directory berada di :  C:\Users\User Name\AppData\Local\Temp dan untuk OS unix Linux biasanya berada di /tmp atau /var/tmp.

Sedangkan di Mac OSx, temp directory bersifat acak, bahkan tidak disimpan dalam folder yang tetap.

Berikut adalah command Java, untuk mengetahui path directory yang aktif di Mac OSx:

import java.io.File;
/**
*
* @author diansavitri
*/
public class CheckDirectory {
   public static void main(String[] args) {
      String tmpDir = System.getProperty("java.io.tmpdir");
      System.out.println("java.io.tmpdir: [" + tmpDir + "]");
   }
}