Domanda:
java linux!!!Devo per forza modificare il codice rispetto a windows???
Santex21
2007-10-23 08:44:49 UTC
ho appena iniziato a programmare in java e uso solitamente windows e il jcreator... ho provato a programmare con linux e funziona però modificando alcune righe di codice.. infatti in linux, qualsiasi compilatore utilizzi, mi da errore sulle librerie import java.io.*; e ho risolto creandomi una classe a parte (ConsoleReader) che viene poi richiamata all'interno del programma;in windows è così:
import java.io.*;
class eta{public static void main(String argv[]){
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader tastiera = new BufferedReader(input);
int eta1;
System.out.print("età: ");
try{String numeroLetto = tastiera.readLine();
eta1 = Integer.valueOf(numeroLetto).intValue(); ECC...
In Linux diventa:
class eta{public static void main(String argv[]){
ConsoleReader console = new ConsoleReader(System.in);
int eta1;
System.out.print("eta': ");
try{String numeroLetto = console.readLine();
eta1 = Integer.valueOf(numeroLetto).intValue();ECC.Vedi titolo!
Tre risposte:
guildenstern70
2007-10-23 09:02:53 UTC
Allora, in generale il codice Java funziona su qualsiasi piattaforma, immutato. Quindi sia su Windows, che su Linux, che su MacOS.



Esistono effettivamente alcuni problemi che riguardano o la grafica (una applicazione Java può essere diversa su Win o su Linux per via delle primitive grafiche), ma non mi sembra sia il tuo caso.



Non ho provato, ma il tuo codice mi sembra che non abbia nessun problema di portabilità, quindi direi che stai usando probabilmente su Linux un compilatore Java che non è il quello di Sun (probabilmente è quello di IBM o quello della GNU). Infatti il compilatore di Sun non è completamente Open Source e quindi non può essere incluso di default in una distribuzione di Linux.



Per installarlo, devi seguire alcune istruzioni specifiche a seconda della distribuzione Linux che usi.



Oppure mi viene in mente che il tuo problema possa essere di importazione dei file sorgente. Ricordati che su Linux i fine linea (CR, CR-LF) sono diversi. In sostanza quindi devi modificare i tuoi sorgenti Windows rieditandoli in un editor Linux.
anonymous
2007-10-23 12:17:17 UTC
Ad essere onesti sembra più un problema di classpath ...



Sicuro di avere impostato correttamente la classpath usata da java quando compila?
dade
2007-10-23 08:54:57 UTC
Teoricamente il codice scritto in java è platform-independent.



Il codice che scrivi non è convertito in codice macchina direttamente, ma viene generato un file object, il quale viene interpretato a runtime dalla java virtual machine, convertendolo in istruzioni macchina con gli indirizzi giusti, che dipendono dalle API del sistema operativo.

Dunque dovrebbe funzionare su qualsiasi so con la jvm installata.



Il problema te lo dà con gli import, è probabile che l'installazione dei compilatori sotto linux piazzi le varie librerie da qualche altra parte, rendendo impossibile l'import scritto come in windows.



Ciao !!


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...