FreeTime - Stefano Passatordi 's Blog


Libera la mente...ecco il Blog di Stefano Passatordi
Statistiche
  • Views Home Page: 153.324
  • Views Posts: 368.309
  • Views Gallerie: 706.632
  • n° Posts: 210
  • n° Commenti: 148
Archivio Posts
Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Mappa

Cygwin, JVM e classpath

Come scritto in un post precedente  mi sono imbattuto in Cygwin e dopo averlo provato un pò ho notato un punto debole....l'utilizzo del classpath crea non pochi problemi, infatti, non dobbiamo dimenticare che pur trovandoci in una shell (quasi) Linux , in realtà il tutto gira sotto Windows. Come è noto, in windows il separatore dei path è ; mentre in linux è : , quindi se provate a lanciare una cosa del tipo : java -classpath .:/usr/local/pro.jar org.package.miaClasse vi verrà restituito un errore del tipo ClassNotFound.
Per ovviare a questo incoveniente basta utilizzare in uno script, l'utility di cygwin cygpath che serve a convertire i path da versione linux a windows e viceversa.
Ad esempio, volendo lanciare il comando java -classpath .:/usr/local/pro.jar  org.package.miaClasse senza ottenere errori basta creare un semplice script (avvia.sh) di questo tipo :

#!/usr/bin/bash

CLASSPATH=`cygpath --path --windows "$1"`

java -classpath $CLASSPATH org.package.miaClasse

In questo modo, digitando avvia.sh nostroClasspath si avvierà la JVM senza problemi!
Per arrivare a questo io ci ho perso un intero pomeriggio....fatene buon uso!

 

Categoria: Programmazione
venerdì, 15 lug 2005 Ore. 00.32
Ora e Data
Calendario
aprile 2024
lmmgvsd
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Blogs Amici
    Links
      Copyright © 2002-2007 - Blogs 2.0
      dotNetHell.it | Home Page Blogs
      ASP.NET 2.0 Windows 2003