Java kompilering

Här diskuteras programmering och utveckling
elfizz
Inlägg: 60
Blev medlem: 06 jun 2007, 18:52

Java kompilering

Inlägg av elfizz »

När jag försöker kompilera java med hjälp av javac commandot så får jag felmedelandet.

Kod: Markera allt

atriser.java:21: warning: unmappable character for encoding UTF8
    public void s�ttMatriser() {
                 ^
Matriser.java:22: warning: unmappable character for encoding UTF8
        double v�rde;
                ^
Matriser.java:26: warning: unmappable character for encoding UTF8
                System.out.println("V�rde i kol "+(i+1)+" och rad "+(j+1));
                                     ^
Matriser.java:27: warning: unmappable character for encoding UTF8
                v�rde = sc.nextDouble();
                 ^
Matriser.java:28: warning: unmappable character for encoding UTF8
                matris[i][j] = v�rde;
                                ^
Matriser.java:37: warning: unmappable character for encoding UTF8
            System.out.println("Om�jilig matrisermultiplikation");
                                  ^
Matriser.java:61: warning: unmappable character for encoding UTF8
        System.out.println("Ge antal kolunner och sen antal rader p� en matris");
                                                                   ^
Matriser.java:67: warning: unmappable character for encoding UTF8
        a.s�ttMatriser();
           ^
Matriser.java:69: warning: unmappable character for encoding UTF8
        System.out.println("Ge antal kolunner och sen antal rader p� en matris som du vill multiplisera med fr�n h�ger");
                                                                   ^
Matriser.java:69: warning: unmappable character for encoding UTF8
        System.out.println("Ge antal kolunner och sen antal rader p� en matris som du vill multiplisera med fr�n h�ger");
                                                                                                              ^
Matriser.java:69: warning: unmappable character for encoding UTF8
        System.out.println("Ge antal kolunner och sen antal rader p� en matris som du vill multiplisera med fr�n h�ger");
                                                                                                                  ^
Matriser.java:74: warning: unmappable character for encoding UTF8
        b.s�ttMatriser();
           ^
Matriser.java:21: illegal character: \65533
    public void s�ttMatriser() {
                 ^
Matriser.java:21: invalid method declaration; return type required
    public void s�ttMatriser() {
                  ^
Matriser.java:22: illegal character: \65533
        double v�rde;
                ^
Matriser.java:22: not a statement
        double v�rde;
                 ^
Matriser.java:27: illegal character: \65533
                v�rde = sc.nextDouble();
                 ^
Matriser.java:27: not a statement
                v�rde = sc.nextDouble();
                ^
Matriser.java:28: illegal character: \65533
                matris[i][j] = v�rde;
                                ^
Matriser.java:28: not a statement
                matris[i][j] = v�rde;
                                 ^
Matriser.java:67: illegal character: \65533
        a.s�ttMatriser();
           ^
Matriser.java:67: not a statement
        a.s�ttMatriser();
         ^
Matriser.java:74: illegal character: \65533
        b.s�ttMatriser();
           ^
Matriser.java:74: not a statement
        b.s�ttMatriser();
         ^
12 errors
12 warnings

Den här koden har gått jätte bra att kompilera i windows men inte nu längre när jag har gått över till ubuntu så vill den inte acceptera åäö längre, tydligen.
Hur ska man göra för att åtgärda detta?
Senast redigerad av 1 DrMegahertz, redigerad totalt 19 gånger.
Användarvisningsbild
DrMegahertz
Inlägg: 296
Blev medlem: 06 maj 2006, 14:37
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Södra Dalarna

SV: Java kompilering

Inlägg av DrMegahertz »

Om du flyttat filen från din windows-maskin så är filen inte kodad i utf-8. Kan vara det som strular, i regel så brukar jag själv aldrig använda svenska bokstäver när jag programmerar för att undvika strul... Men jag har ju aldrig programmerat Java heller :D
BildAre you shpongled? Bild
elfizz
Inlägg: 60
Blev medlem: 06 jun 2007, 18:52

SV: Java kompilering

Inlägg av elfizz »

tackar, det löste problemet med åäö :)

Fast det gjorde så jag kunde upptäcka nästa hinder på vägen.
Det går jätte bra att kompilera det med javac men sen när jag ska köra det med java komandot så får jag upp det här felmedelandet

Kod: Markera allt

Exception in thread "main" java.lang.ClassFormatError: java (unrecognized class file version)
   at java.lang.VMClassLoader.defineClass(libgcj.so.70)
   at java.lang.ClassLoader.defineClass(libgcj.so.70)
   at java.security.SecureClassLoader.defineClass(libgcj.so.70)
   at java.net.URLClassLoader.findClass(libgcj.so.70)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70)
   at java.lang.ClassLoader.loadClass(libgcj.so.70)
   at java.lang.ClassLoader.loadClass(libgcj.so.70)
   at gnu.java.lang.MainThread.run(libgcj.so.70)
kan jag ha missat nått i intallationen av java eller är det nått annat som är fel?
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: Java kompilering

Inlägg av Okänd »

Testa att lägga till flaggan -cp . när du kör java, jag har haft det problemet att classpath inte sätts.
elfizz
Inlägg: 60
Blev medlem: 06 jun 2007, 18:52

SV: Java kompilering

Inlägg av elfizz »

När jag testar att lägga till flaggan -cp så får jag det här medelandet.

Kod: Markera allt

Usage: gij [OPTION] ... CLASS [ARGS] ...
          to invoke CLASS.main, or
       gij -jar [OPTION] ... JARFILE [ARGS] ...
          to execute a jar file
Try `gij --help' for more information.
Jag testade det också med mitt filnman efter men det gick inte häller.
Ska jag skriva in någon sökväg efter -cp, eller är det något annat som är fel?
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: Java kompilering

Inlägg av Okänd »

Nej -cp .  (ser du punkten, den betyder att det är mappen du står i som läggs in i classpath) eftersom det är typ sökvägen till mappen med alla klass filer
elfizz
Inlägg: 60
Blev medlem: 06 jun 2007, 18:52

SV: Java kompilering

Inlägg av elfizz »

När jag la till punkten fick jag precis samma felmedelande som innan :(
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: Java kompilering

Inlägg av Okänd »

hmmm... udda, kan du skriva in raden du använder för att starta programmet med ?

te.x. när jag ska starta JDock så skriver jag

Kod: Markera allt

java -cp . JDock
och då står jag i mappen där class filerna ligger, samt att main metoden för att starta programmet ligger i JDock.class i samma mapp.

om jag inte kör utan -cp . så får jag detta fel

Kod: Markera allt


> java JDock
Exception in thread "main" java.lang.NoClassDefFoundError: JDock
   at gnu.java.lang.MainThread.run(libgcj.so.70)
Caused by: java.lang.ClassNotFoundException: JDock not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/lib/GNUstep/System/Library/Libraries/Java/], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.70)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70)
   at java.lang.ClassLoader.loadClass(libgcj.so.70)
   at java.lang.ClassLoader.loadClass(libgcj.so.70)
   at gnu.java.lang.MainThread.run(libgcj.so.70)
Exit 1


Senast redigerad av 1 gasol, redigerad totalt 18 gånger.
elfizz
Inlägg: 60
Blev medlem: 06 jun 2007, 18:52

SV: Java kompilering

Inlägg av elfizz »

jag har bara gjort ett litet test program som jag håller på att testa med nu som har filmanet java.java.

De jag har testat är

java java
java -cp .
java -cp.
java -cp . java
java -cp. java

när jag skriver så som du skriver så för jag felbedelandet

Kod: Markera allt

Exception in thread "main" java.lang.ClassFormatError: java (unrecognized class file version)
   at java.lang.VMClassLoader.defineClass(libgcj.so.70)
   at java.lang.ClassLoader.defineClass(libgcj.so.70)
   at java.security.SecureClassLoader.defineClass(libgcj.so.70)
   at java.net.URLClassLoader.findClass(libgcj.so.70)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70)
   at java.lang.ClassLoader.loadClass(libgcj.so.70)
   at java.lang.ClassLoader.loadClass(libgcj.so.70)
   at gnu.java.lang.MainThread.run(libgcj.so.70)
altså samma som förut
Senast redigerad av 1 elfizz, redigerad totalt 18 gånger.
elfizz
Inlägg: 60
Blev medlem: 06 jun 2007, 18:52

SV: Java kompilering

Inlägg av elfizz »

jag testade att ladda hem java igen.
Vet inte om det blev något fel på förra installationen eller om jag ladade hem fel saker.
Men nu fungerar det iaf.
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: Java kompilering

Inlägg av Okänd »

ah vad bra att det funkar ^_^
Skriv svar

Återgå till "Programmering och webbdesign"