Tag: eclipse

  • OSX: Eclipse e Java 7 (senza Java 6)

    Ok, avete installato OSX Mavericks e avete notato che il vostro sistema operativo è sprovvisto di una JVM (finalmente OSX non shippa più con la JVM fornita da Apple).

    Nessuna paura, le istruzioni per installare la JVM/JDK di Oracle sono ancora valide. Ma adesso volete utilizzare Eclipse, che vuole che installiate la vecchia JDK 6 (quella fornita da Apple per intenderci).

    eclipse_java6_install_osx

    Non avrebbe senso installare la JDK 6, abbiamo già la JDK 7. Tutto quello che dobbiamo fare è adattare la JDK 7 in modo che sia “compatibile” con Eclipse.

    Modificate (da root) il file

    /Library/Java/JavaVirtualMachines/jdk.1.7.<…>/Contents/Info.plist

    Sostituite:

    <key>JVMCapabilities</key>
     <array>
      <string>CommandLine</string>
     </array>

    Con:

    <key>JVMCapabilities</key>
     <array>
      <string>JNI</string>
      <string>BundledApp</string>
      <string>WebStart</string>
      <string>Applets</string>
      <string>CommandLine</string>
     </array>

    Logout/Login ed Eclipse userà la nuova JDK 7.

  • Come mandare un segnale SIGINT (Ctrl-C) ad un programma che gira nella console di Eclipse

    Quando si sviluppa un programma che deve girare ininterrottamente nella console, non ci sono problemi se si lancia il programma da console e lo si termina tramite la più classica delle combinazioni: Ctrl-C. Ma come si termina lo stesso programma se lo si è lanciato da Eclipse?

    Si deve lanciare un segnale al processo, e più in particolare un SIGINT (interruzione): apriamo una console:

    kill -s INT pid

    o, se usiamo pkill:

    pkill -s INT <nome dell’interprete che sta runnando il programma: Java, Ruby, Python, etc.>

  • Installare più plugin contemporaneamente su Eclipse

    Installare più plugin contemporaneamente su Eclipse

    Eclipse è il mio IDE preferito per tutti gli sviluppi. Per migliorare le funzionalità di Eclipse, utilizzo alcuni plugin che semplificano il processo di sviluppo (ma dei plugin che utilizzo ve ne parlerò in un altro post). Un piccolo accorgimento che mi è stato utile è quello di installare più plugin contemporaneamente (dopo l’installazione di un plugin, Eclipse richiede un riavvio):

    1. Create un account su Eclipse Marketplace;
    2. Una volta loggati su MarketPlace, cercate i plugin che volete installare e marcateli come favorite
    3. Andate in “My MarketPlace” e copiate Update Site URL
    4. In Eclipse, andate su Help -> Install New Software e usate l’URL appena copiato come repository di installazione

    Nel repository potete trovare tutti i plugin marcati come favoriti e li potrete installare in una sola sessione di installazione: semplice e veloce!

  • Eclipse: impostare un template per l’inserimento di un Logger log4j

    Mi capita spesso, in Eclipse, di inserire il codice per abilitare il logging di una classe tramite log4j:

    private static Logger logger = Logger.getLogger(Klass.class);
    

    Utilizzano i templates, una funzionalità di Eclipse, possiamo evitare di riscrivere tutte le volte questa semplice istruzione. Per impostare un template, in Eclipse, è sufficiente recarsi su: Window > Preferences > Java > Editor > Templates e creiamo un nuovo template.

    Nel campo pattern inseriamo:

    private static Logger logger = Logger.getLogger( ${enclosing_type}.class );
    ${:import(org.apache.log4j.Logger)}
    

    A questo punto, per inserire il logger, è sufficiente utilizzare lo shortcut CTRL+Space per visualizzare gli autocompletamenti, e selezionare “logger” dal menu.

  • Come rendere Eclipse IDE più veloce e reattivo

    Ho sempre trovato Netbeans IDE molto più veloce e reattivo di Eclipse. Per rendere Eclipse più veloce, ho pensato di applicare le impostazioni della JVM con le quali Netbeans viene lanciato e applicarle ad Eclipse. Ho ottenuto dei risultati molto buoni, in generale Eclipse ora è molto più veloce e scattante.

    Vediamo ora come configurare Netbeans per implementare la modifica dei parametri della JVM:

    • cercate il file eclipse.ini. La sua locazione dipende dal vostro sistema operativo e da dove avete installato Eclipse. Su Windows, ad esempio, si trova nella stessa cartella di eclipse (hint: C:\eclipse o C:\Programmi\Eclipse); su Linux, date un’occhiata a /opt/eclipse (di solito è la directory più indicata per installarlo).
    • una volta trovato il file eclipse.ini, apritelo con un editor di testo e aggiungete in fondo al file queste impostazioni di configurazione (copia/incolla, il segno – deve essere incluso):

      -Xms512m
      -Xmx512m
      -XX:PermSize=256m
      -XX:MaxPermSize=256m
      -Xverify:none
      -XX:+UseConcMarkSweepGC
      -XX:+CMSClassUnloadingEnabled
      -XX:+CMSPermGenSweepingEnabled

    • salvate e chiudete il file. Fine!

    Per i più curiosi, vediamo di spiegare cosa rappresentano le opzioni di configurazione che abbiamo specificato:

    • le prime quattro opzioni permettono di specificare la dimensione massima di memoria che Eclipse può utilizzare
    • la quinta opzione specifica alla JVM di non verificare il bytecode generato
    • per le ultime tre opzioni, vi rimando al Netbeans performance tuning tips; in generale le tre opzioni servono per fare il tuning del Garbage Collector della JVM.

    Ci possono essere altre opzioni “utili” che potrebbero incrementare la velocità di Eclipse. È d’obbligo specificare, però, che le performance ottenute potrebbero variare da computer a computer, in relazione a molteplici fattori, quali sistema operativo, versione della JVM, versione di Eclipse, etc. Come si dice in gergo, YMMV.

    Comunque, quello che io ho ottenuto è un aumento considerevole della velocità e della reattività di Eclipse, e difficilmente tornerò alle impostazioni di default.

  • 10 cose da fare dopo aver installato Ubuntu Intrepid 8.10

    Ultimamente ho reinstallato Linux sulla mia macchina principale, dopo anni in cui lo tenevo relegato in una virtual machine in VMWare. La scelta della distribuzione è ovviamente caduta su Ubuntu Intrepid 8.10.

    Subito dopo l’installazione, ho cominciato a fare un po’ di pulizia (rimuovendo quello che non mi serve e/o è inutile) e installare il software che mi serve. Trovate una rapida descrizione ed i comandi relativi (da inserire nel terminale):

    1. Togliere il supporto all’accessibilità, i giochi, il software VOIP Ekiga (uso Skype) e il client BitTorrent Trasmission (molto lento rispetto agli altri client BitTorrent):sudo apt-get autoremove --purge at-spi transmission* gnome-games-* ekiga
    2. Cambiare il refresh rate del proprio monitor al più alto valore possibile (System -> Preferences -> Screen resolution)
    3. Rimuovere il fastidiosissimo “beep” del terminale:echo "blacklist pcspkr" | sudo tee -a /etc/modprobe.d/blacklist
      (è sufficiente un reboot affinché il beep sparisca)
    4. Abilitare i repository per i software multiverse (Menu -> System -> Administration -> Software sources -> abilitare restricted, multiverse, e partner)
    5. Visualizzare i file nascosti: aprite il file browser in una directory qualsiasi e andate in Edit -> Preferences -> “Show hidden and backup files”
      (si poteva fare anche tramite gconf-editor ma perché non usare le scorciatoie quando ci sono?)
    6. Installare software utile tra cui:
      • Flash player per Firefox
      • Filezilla (client FTP)
      • Font Microsoft (utili per OpenOffice) + font terminus (li preferisco per l’utilizzo nel terminale)
      • Java Development Kit (JDK) (utile per sviluppare software Java)
      • I principali tools di sviluppo (build-essential)
      • VLC (per vedere i filmati senza installare codec)
      • Mozilla Thunderbird + Enigmail (client e-mail + supporto a PGP)
      • Alcuni plugin utili per Pidgin (client per IM multipiattaforma, GTalk, MSN, etc.)
      • Software di compressione e decompressione (rar, zip, 7z, etc.)
      • Editor di testo Emacs e vim
      • Plugin utili per nautilus, il file browser di Gnome (plugin per aprire un terminale nella directory corrente, e così via)
      • Parcellite, un clipboard manager per Gnome
      • Deluge Torrent, il client BitTorrent che preferisco
      • CVS, subversion e git come strumenti di versioning del software sviluppato
      • htop, una versione di top che presenta molte più informazioni utili rispetto alla versione standard di top
      • sysinfo, un programma che visualizza tutte le caratteristiche hardware del computer
      • TeXmaker e la relativa suite LaTeX per produrre documenti scientifici come tesi, report, etc. (ho già pubblicato un post relativo al LaTeX poco tempo fa)

      sudo apt-get install flashplugin-nonfree filezilla msttcorefonts sun-java6-bin sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-plugin ubuntu-restricted-extras vlc vlc-data vlc-dbg vlc-nox vlc-plugin-arts vlc-plugin-esd vlc-plugin-ggi vlc-plugin-jack vlc-plugin-pulse vlc-plugin-sdl vlc-plugin-svgalib thunderbird console-terminus pidgin-plugin-pack pidgin-libnotify pidgin-extprefs pidgin-themes pidgin-encryption pidgin-sipe pidgin-librvp pidgin-guifications pidgin-hotkeys python-psyco sun-java6-fonts compizconfig-settings-manager unace rar unrar zip unzip p7zip-full p7zip-rar sharutils aish uudeview mpack lha arj cabextract file-roller ttf-larabie-straight ttf-larabie-deco mplayer-fonts xfonts-terminus-dos xfonts-terminus xfonts-terminus-oblique xfonts-mona tv-fonts ttf-tuffy ttf-sjfonts ttf-sil-padauk ttf-sil-ezra ttf-paktype ttf-georgewilliams community-themes nautilus-open-terminal terminator tilda openssh-server emacs22-gtk htop workrave vim vim-gnome vim-gui-common vim-gtk vim-python nautilus-actions nautilus-gksu nautilus-image-converter nautilus-open-terminal nautilus-script-audio-convert nautilus-script-collection-svn nautilus-script-manager nautilus-sendto nautilus-share nautilus-wallpaper parcellite deluge-torrent subversion thunderbird-gnome-support mozilla-thunderbird-enigmail subversion-tools sysinfo texmaker texlive-latex-base git-core cvs

    7. Non installiamo Eclipse e/o Netbeans tramite i repository Ubuntu perché la versione installata tramite package è troppo datata. Per installare Eclipse, ad esempio, andiamo sul sito ufficiale e scarichiamo il tar.gz, scompattiamo il tutto in /opt/eclipse ed il gioco è fatto. Per Netbeans, invece, è sufficiente scaricare l’installare e lanciarlo (chmod +x netbeans-installer.sh && sudo ./netbeans-installer.sh ).
    8. Abilitare gli effetti grafici (System -> Preferences -> Appereance -> Visual Effect -> Extra), abilitare gli hot corner e gli effetti grafici che ritenete più opportuni (ad esempio abilito Exposè, System -> Preferences -> Compiz Settings Manager -> Scale) e disabilitare la fastidiosissima resistenza delle finestre al trascinamento lontano dal bordo (System -> Preferences -> Compiz Settings Manager -> Snapping Windows -> Behaviour -> deselezionare “Edge resistance”)
    9. Abilitare il ssh keep-alive (altrimenti dopo un certo timeout la connessione ssh verso altri host verrà abbattuta): sudo echo "TCPKeepAlive yes" >> /etc/ssh/ssh_config ; sudo echo "ClientAliveInterval 60" >> /etc/ssh/ssh_config
    10. Installare il software rimanente (andate sui siti ufficiali per effettuare il download dei package autoinstallanti): Google Desktop, Google Picasa, Skype, VMWare Player, …

    Di seguito trovate un mio screenshot: non ho trasformato Ubuntu in Windows 7, infatti grazie a VMWare (e alla copia gratuita e in versione beta di Windows 7, ho potuto provare con mano il nuovo sistema operativo Microsoft.

    ubuntu_win7

  • Come abilitare le svn:keywords di SVN con Subclipse

    Supponiamo di utilizzare SVN (e di conseguenza il frontend Subclipse per l’IDE Eclipse). Come si può abilitare la sostituzione di keyword?

    imageAd esempio: volete scrivere nel vostro programma il numero di revisione:

    System.out.println(“Version: $Revision$”);

    dove $Revision$ è, appunto, il numero di revision su SVN.

    Per abilitare questa sostituzione, sono sufficienti pochi passi:

    1. Cliccate con il tasto destro sul file (o sul progetto) per cui volete abilitare la sostituzione
    2. Team -> Set Property…
    3. Property name: inserite svn:keywords
    4. Text property: inserite URL Author Date Rev Id (potete inserire anche altre keywords, le trovate sul manuale di SVN qui)
    5. Inserite la keyword che volete sostituire nel vostro programma
    6. Fate un commit

    A questo punto, la riga di codice:

    System.out.println(“Version: $Rev$”);

    si trasformerà automaticamente in:

    System.out.println(“Version: $Rev: 33 $”);

  • Eclipse: le novità della versione Europa

    Come forse molti di voi sapranno, Eclipse è il mio IDE preferito. Recentemente, è stata rilasciata la versione 3.3 (“Europa”), che integra ben 21 progetti (la lista completa dei progetti si può trovare qui).

    Quest’interessante articolo descrive le principali novità del progetto Eclipse e di tutti i 21 progetti, oltre alle istruzioni per installare la nuova versione del celebre IDE.