Newsgroup: it.comp.macintosh
Titolo: Java in Mac OS X

Sto impazzendo a cercare di far funzionare un progetto Java/CORBA/MySQL sul
MacBook. Il progetto l'ho sviluppato in Windows e ora vorrei poterlo eseguire
anche in MacOS X.
Il problema è che uso OpenORB ed ho modificato il file launch.bat di OpenORB
(per Windows) aggiungendoci anche queste righe:
set CLASSPATH=%CLASSPATH%;%TCOO_HOME%\OpenORB\lib\openorb_orb-1.4.0.jar
set CLASSPATH=%CLASSPATH%;%TCOO_HOME%\OpenORB\lib\openorb_orb_tools-1.4.0.jar
set CLASSPATH=%CLASSPATH%;%TCOO_HOME%\tools\lib\tools-1.4.0.jar
set
CLASSPATH=%CLASSPATH%;%TCOO_HOME%\NamingService\lib\endorsed\openorb_ns_omg-1.4.
0.jar
set
CLASSPATH=%CLASSPATH%;%TCOO_HOME%\NotificationService\lib\openorb_notify-1.4.0.j
ar
set
CLASSPATH=%CLASSPATH%;%TCOO_HOME%\TransactionService\lib\openorb_ots-1.4.0.jar
set
CLASSPATH=%CLASSPATH%;%MYSQL_HOME%\mysql-connector-java-3.1.10\mysql-connector-j
ava-3.1.10-bin.jar;.
set CLASSPATH=%CLASSPATH%;%TCOO_HOME%\tools\lib\ext\avalon-framework.jar
set CLASSPATH=%CLASSPATH%;%TCOO_HOME%\tools\lib\ext\logkit.jar;.
Ora sto cercando di modificare il file launch (equivalente per Unix/MacOS) per
ottenere gli stessi risultati ma so proprio dove mettere le mani, L'unica cosa
che mi viene in mente è cambiare \ in / nei path ma poi che devo fare? 
Come l'ho modificato ora quando provo a fare launch miaclasse mi restituisce:
/Developer/OpenORB/orblaunch: line 81:
/usr/local/mysql/bin/mysql-connector-java-3.1.10-bin.jar: cannot execute binary
file
/Developer/OpenORB/orblaunch: line 81: .: filename argument required
..: usage: . filename
Che devo fare?
-- 
ReXR ^ su Yamaha Fazer 600 '02 & Yamaha Jog's 50 '02 & mini...e | con Apple MacBook & ...X + contatti MSN/Skype: 
kat...@inwind.it
 

 set CLASSPATH=%CLASSPATH%;%TCOO_HOME%\OpenORB\lib\openorb_orb-1.4.0.jar
export CLASSPATH=$CLASSPATH:.../OpenORB/lib/openorb_orb-1.4.0.jar
-- 
 - ∞
-- 
http://infinite-labs.net

 Lì guarda come funziona "export".
Non mi è chiara una cosa, ho già messo nel file /etc/profile quello che 
in Windows si trova in termini di variabili di ambiente e path vari 
necessari e infatti ora posso chiamare quello che mi serve senza entrare 
nella relativa directory.
Devo usare lo stesso principio anche in questo file?


 export CLASSPATH=$CLASSPATH:.../OpenORB/lib/openorb_orb-1.4.0.jar
Ma lo devo mettere in questo file (launch) esattamente come ho fatto per 
/ec/profile?


 Devo usare lo stesso principio anche in questo file?
Quanta diseducazione ha fatto Windows >_<
/etc/profile è un file di sistema -- prende *tutto* il sistema. Dovresti
tecnicamente usare ~/.profile (".profile" nella tua cartella home).
Meglio, dovresti usare uno script specifico dell'applicazione.
Perché? Uno, non devi autenticarti per cambiarlo. Due, se deploy su un
altro Mac non devi rifarti la pappardella.
Meglio ancora, se il solo classpath è il tuo problema, usa Class-Path
nel manifesto del tuo JAR.


 altro Mac non devi rifarti la pappardella.
Si l'avevo letto ma non trovavo .profile_bash e nel frattempo ho trovato 
profile di etc :-)!
Comunque ho fatto come mi hai detto, inserendo quelle righe nel file 
launch modificate come mi hai consigliato ed ora esce questo quando 
provo ad eseguirlo:
./launch: line 75: /Developer/OpenORB/OpenORB/lib/openorb_orb-1.4.0.jar: 
cannot execute binary file
./launch: line 76: 
/Developer/OpenORB/OpenORB/lib/openorb_orb_tools-1.4.0.jar: cannot 
execute binary file
./launch: line 77: /Developer/OpenORB/tools/lib/tools-1.4.0.jar: 
Permission denied
./launch: line 78: 
/Developer/OpenORB/NamingService/lib/endorsed/openorb_ns_omg-1.4.0.jar: 
Permission denied
./launch: line 79: 
/Developer/OpenORB/NotificationService/lib/openorb_notify-1.4.0.jar: 
Permission denied
./launch: line 80: 
/Developer/OpenORB/TransactionService/lib/openorb_ots-1.4.0.jar: 
Permission denied
./launch: line 81: 
/usr/local/mysql/bin/mysql-connector-java-3.1.10-bin.jar: cannot execute 
binary file
./launch: line 81: .: filename argument required
.: usage: . filename


 binary file
Hmmmm, forse è meglio che ti leggi con calma una guida sullo shell
scripting.
Ricorda che per registrare una variabile d'ambiente devi usare
export NOME=contenuto
non soltanto il contenuto!


 non soltanto il contenuto!
Ma io ho fatto proprio così, mah!


cannot execute binary file
Momento, fermi tutti, non è che tu stai cercando di mandare in esecuzione
direttamente il .jar?!!!
se setti tutte le variabili da riga di comando e dai
java /Developer/OpenORB/OpenORB/lib/openorb_orb-1.4.0.jar
anzichè
/Developer/OpenORB/OpenORB/lib/openorb_orb-1.4.0.jar
che succede?
Luca

 che succede?
Ho risolto il problema (si trattava di una serie di errori nell'uso dei 
caratteri) ma OpenOrb continua a non funzionare... che palle!
Se hai un po' di pazienza posto il motivo dell'errore. Ora non mi dice 
che mancano i jar ma si comporta in maniera strana continuando a non 
avviare la mia applicazione...
Comunque quei jar sono quelli di OpenOrb, la mia applicazione è altrove.
