Thursday, December 25, 2008

Subclipse: Masalah di Java Build Path

Menyambung seri SVN Subclipse (plugin Eclipse) di beberapa hari posting saya, maka saya memberikan tips juga yang biasanya saya jumpai pada saat checkout di Subclipse yaitu masalah Build Path.

Masalah yang umum dialami adalah pada saat checkout, project yang dikenali bukan dianggap sebagai Project Java sehingga source code yang kita edit dianggap text biasa dan tidak akan ada auto compilation dan auto compile/build.

Error yang biasanya muncul misalkan pada saat kita berusaha menampilkan daftar object / method dengan menekan CTRL+Space adalah "This compilation unit is not on the build path of a Java project.".

Project seperti ini mudah dikenali di Eclipse, perhatikan bahwa project yang tidak dianggap sebagai project Java maka tidak akan ada entity "JRE System Library" jika dilihat pada daftar node Package Explorer-nya (gambar).


Jadi bagaimana kita membuat project pentaho-aggregate-designer pada gambar supaya kembali dianggap sebagai Java Project ?

Ini adalah langkah demi langkah untuk melakukan hal tersebut :
  • Tutup project (close project) pentaho-aggregate-designer (Klik kanan pada project dan pilih opsi "Close Project").


  • Buka file .properties yang ada pada project folder workspace Anda dengan text editor / notepad.
  • Ubah isi file .properties berikut


    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
    <name>pentaho-aggregate-designer1.0</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
    </buildSpec>
    <natures>
    </natures>
    </projectDescription>


  • menjadi....


    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
    <name>pentaho-aggregate-designer1.0</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
    <buildCommand>
    <name>org.eclipse.jdt.core.javabuilder</name>
    <arguments>
    </arguments>
    </buildCommand>
    </buildSpec>
    <natures>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
    </natures>
    </projectDescription>

  • Buka kembali project Anda (klik kanan project Anda dan pilih opsi Open Project)


  • Sekarang project Anda akan dianggap sebagai project Java



  • Selesai

Subclipse : Buat Project Baru dari SVN

Seperti kita ketahui, Pentaho adalah proyek BI open source yang terbagi atas banyak project. Pentaho menggunakan SVN server untuk sebagai hosting dan source code managementnya.

Sebagai pemakai Eclipse IDE yang intensif dengan plugin Subclipse maka untuk mengatur pekerjaan development Pentaho, saya tidak begitu banyak mengalami kesulitan.

Dan pada artikel kali ini saya ingin membagi tips bagaimana membuat proyek baru dari suatu lokasi SVN. Contoh yang digunakan adalah dari Pentaho, dengan lokasi svn-nya ada di svn://source.pentaho.org/svnroot/.

Tambahkan lokasi tersebut di Subclipse melalui perspective SVN Repository Exploring, dan hasil repository yang ditambahkan akan tampak seperti pada gambar di bawah ini.

Dari beberapa project folder yang di atas, kita coba mengambil project pentaho-reportdesigner. Sebelumnya kita terlebih dahulu kembali ke perspective Java dan buat project wizard baru.

Berikut adalah langkah-langkahnya :
  • Pilih menu File | New | Project
  • Pada dialog "Select a wizard" pilih opsi "Checkout Projects from SVN"


  • Pilih lokasi SVN Pentaho yang sudah didefinisikan sebelumnya di atas


  • Pilih folder trunk dari project pentaho-reportdesigner. Klik tombol "Next >"



  • Pada dialog "Check out as" biarkan default entry yang ada dan klik tombol "Next >"



  • Pada dialog terakhir yang muncul. Klik tombol "Finish"



  • Beberapa saat kemudian akan muncul dialog progress dari proses checkout SVN kita. Tunggu sampai selesai.



  • Setelah checkout source selesai maka project tersebut akan di-build terlebih dahulu apabila Anda memang memiliki setting "Build Automatically" di Eclipse.
  • Anda dapat melihat sekarang project "pentaho-reportdesigner" tersebut sudah terdaftar di workspace Anda lengkap dengan semua file dan foldernya.


  • Selesai
Semoga tips ini dapat membantu kita mengembangkan proyek kita terutama proyek open source....

Catatan Tambahan :

Versi Eclipse yang digunakan : 3.3.1.1
Versi Subclipse yang digunakan : 1.4.7


Subclipse: Unable to specify SVN Interface Client

Pernahkah Anda mendapat error / warning seperti ini pada saat ingin check out dari url dengan protokol svn (svn://.....) ? Error ini sepertinya tidak masuk akal terutama jika kita sudah melakukan instalasi svn client di sistem OS kita.

Lalu apa yang harus dilakukan ?

Cobalah tambahkan beberapa plugins tambahan dari repository Subclipse di Internet. Caranya adalah :
  • Ke menu Help | Software Updates | Find and Install 
  • Pilih Search for new features to install, klik tombol Next
  • Tick opsi Subclipse dan  klik tombol Finish
  • Pilih Subversion Client Adapter, Subversion Native Library Adapter (JavaHL), plugin-plugin SVNKit dan klik tombol Finish
  • Instalasi akan dimulai dengan melakukan download plugin yang telah kita pilih di atas
  • Restart Eclipse
  • Selesai
Sekarang Anda sudah dapat menambahkan lokasi svn dengan lancar. Semoga tips ini membantu...

Sunday, December 21, 2008

ANT build.xml & Eclipse : Copy File Classes

Pada saat fase development untuk aplikasi web Tomcat, sering sekali kita harus mengcopy class-class saya ke folder WEB-INF/classes secara manual.

Dengan menggunakan IDE Eclipse yang sudah terintegrasi dengan Apache Ant di dalamnya maka hal tersebut dapat kita otomatisasi-kan. 

Berikut adalah contoh file build.xml yang saya gunakan untuk meng-copy file-file yang sudah di-compile oleh Eclipse ke folder web aplikasi Tomcat saya.



<?xml version="1.0" encoding="UTF-8"?>
<project name="copy_classes" default="copytotomcat" basedir=".">

<property name="feris.tomcat.dvworks.folder"
value="C:\apache-tomcat-6.0.16\webapps\dvworks\WEB-INF\classes" />

<target name="copytotomcat">
<copy
todir="${feris.tomcat.dvworks.folder}"
verbose="true" overwrite="true">
<fileset dir="./bin">
<patternset id="non.feris.classes">
<include name="**/*.class" />
<exclude name="**/*Feris*" />
</patternset>
</fileset>
</copy>
</target>
</project>


Semoga membantu di kerjaan sehari-hari kita.... 

Apache Tomcat : Konfigurasi Auto Reload Class

Pendahuluan

Untuk programmer Java, pada saat fase development kita biasanya kita sering mengubah class dan library dan melakukan testing aplikasi web tersebut di Apache Tomcat.

Untuk membuat efektif perubahan library dan class tersebut bisa dilakukan dengan beberapa cara antara lain :
  • Melakukan restart server
  • Mengubah file web.xml
  • Melakukan konfigurasi di file context.xml
Membuat dan Konfigurasi context.xml

Untuk tips kali ini maka pilihan ketiga yang akan kita lakukan.

  • Buat folder META-INF di dalam folder aplikasi kita jika belum ada.
  • Buat file context.xml  dan tambahkan dengan isi di bawah ini 


    <?xml version="1.0" encoding="UTF-8"?>

    <Context reloadable="true" />


  • Jika file context.xml sebelumnya sudah ada, tambahkan atribut reloadable = "true"
  • Jalankankan Tomcat Anda
  • Setiap perubahan dari class dan library kita, otomatis akan di-reload oleh Tomcat
  • Selesai

Install Apache Ant di Windows XP

Apache Ant adalah utilitas yang biasanya untuk membangun aplikasi Java. Disusun dalam format XML dan berisi untaian perintah layaknya shell script menempatkan ANT sebagai utilitas favorit untuk melakukan proses kompilasi dan build class-class Java dan jar dalam paket yang mudah didistribusikan.

Untuk Anda yang ingin install Apache Ant di Windows, saya sudah membuat artikel wikinya yang dapat dibaca di http://pentaho.phi-integration.com/apache-ant/instalasi-ant-di-windows-xp.

Tuesday, December 16, 2008

Eclipse: Menambahkan Semua File *.jar (Cara 1)

Pendahuluan

Sering sekali dalam development kita perlu menambahkan seluruh file jar yang diperlukan ke dalam classpath kita. Bagaimana kita melakukannya di Eclipse 3.x ? Ikuti langkah-langkah di bawah ini.

Menambahkan Semua File Library *.jar
  • Klik node project kita di lingkungan Eclipse
  • Pilih menu "Project" | "Properties"

  • Pada dialog Project Properties pilih tab "Libraries"
  • Klik tombol "Add Variable ..."
  • Pada dialog New Variable Classpath Entry klik tombol "Configure Variables..."




  • Pada dialog Preferences (Filtered) klik tombol "New..."
  • Pada dialog New Variable Entry masukkan nama variable yang Anda inginkan di field "Name:" dan pada bagian "Path:" klik tombol "Folder..."
  • Klik tombol "OK"
  • Perhatikan bahwa variable Anda sudah ada di dialog Preferences (Filtered)
  • Klik tombol "OK"
  • Pada dialog New Variable Classpath Entry ada peringatan "Variable points to a folder: Use 'Extend...' to select an archive inside the folder".  Klik tombol "Extend..." dan dari dialog Variable Extension yang muncul pilih semua file jar yang muncul (Tekan CTRL+A).




  • Klik tombol "OK"
  • Perhatikan bahwa semua jar sudah masuk ke dalam Libraries path kita.




  • Klik tombol "OK"
  • Selesai