May 1, 2002
Jag har lite problem jag ska kompilera
en java fil med kommandot:
C:jdk1.2bin>javac param.java
I ms dos promt.Den ger mig inte några felmedelande.
Nu söker jag igenom hela min hårddisk och jag hittar inte bytekoden.
Har någon varit med om något liknande?
Hur löser jag det här?
Hjälp!
May 8, 2001
För det första, lägg till sökvägen "C:jdk1.2bin" i din path så att du inte behöver stå i den katalogen för att kompilera.
Har du fler är en klass in filen "param.java"?
Vad heter den publika klassen i filen som du ska kompilera? Alltså inte filen för den verkar ju heta "param.java" vilket gör att jag antar att klassen också heter så? (Du bör dessutom använda stor begynnelsebokstav när du skapar klasser men det har ingen betydelse för detta problem.)
Desktop: Gigabyte GA-MA770-DS3 | AMD Phenom II 955 BE | 8GB PC6400 | Samsung 1TB + 500GB | Powercolor HD3870
3DMark 2006: 11932 3DMark Vantage: P5137
Laptop: Macbook Pro 2012 | 8GB | Samsung 830 128GB SSD
HTPC: Mac Mini | 3GB | 500GB
May 1, 2002
May 8, 2001
Med path så menar jag de sökvägar som windows använder för att hitta de program som du vill köra utan att du står i just den katalogen som programmet finns i.
Hur man ställer in sökvägarna beror lite på vilket OS man kör. Själv så kör jag Win2000 och hittar man dessa inställningar i Start/Settings/Control Panel/System. Då får man upp en panel där man väljer Advanced och sedan Environment Variables. Där lägger man till de sökvägar man vill att windows ska "titta i" när man anger ett kmmando i t.ex. kommandotolken. Så om du här anger "c:jdk1.3.1bin" (ett exempel) så kommer windows när du skriver t.ex. "javac" att titta i katalogen "c:jdk1.3.1bin" och där hitta programmet javac.exe. Detta oavsett i vilken katalog som du står i.
OM du använder dig av WinNT eller WinME så fungerar det på samma sätt men om du kör Win98 så fungerar det annorlunda...
Lägg INTE dina java-filer i binkatalogen som ovanstående inlägg föreslår. Det kan tänkas vara en enkel lösningen men är absolut inte bra.
Om du har en publik klass som heter HelloAgainWorld som du verkar ha så ska den klassen finnas i en fil som heter likadant (men med filändelsen .java då såklart). Om man har flera klasser i samma fil så kan de ha vilket namn som helst men de får då inte vara publika. (Detta är dock oftast inta att rekommendera utan det är bättra att ha en klass per fil.
Detta meddelande får jag när jag försöker kompilera en klass som heter MyApplet1 som ligger i en fil som heter MyApplet.java:
MyApplet.java:8: class MyApplet1 is public, should be declared in a file named MyApplet1.java
public class MyApplet1 extends Applet implements ActionListener {
^
1 error
Om du försöker kompilera ditt program så borde du få ett felmeddelande om att klassen ska finnas i en fil med samma namn.
Vet inte om detta kan hjälpa dig...
Desktop: Gigabyte GA-MA770-DS3 | AMD Phenom II 955 BE | 8GB PC6400 | Samsung 1TB + 500GB | Powercolor HD3870
3DMark 2006: 11932 3DMark Vantage: P5137
Laptop: Macbook Pro 2012 | 8GB | Samsung 830 128GB SSD
HTPC: Mac Mini | 3GB | 500GB
May 1, 2002
May 8, 2001
Om jag får se din kod så kan jag kolla om något är fel...
Dessutom så svarade du inte på ovastående frågor om t.ex. klassnamn.
Desktop: Gigabyte GA-MA770-DS3 | AMD Phenom II 955 BE | 8GB PC6400 | Samsung 1TB + 500GB | Powercolor HD3870
3DMark 2006: 11932 3DMark Vantage: P5137
Laptop: Macbook Pro 2012 | 8GB | Samsung 830 128GB SSD
HTPC: Mac Mini | 3GB | 500GB
February 9, 2002
Har du gjort som MrCool sa?
1) Lägg "param.java" i c:jdk1.3.1bin.
2) c:jdk1.3.1bin>javac param.java
3) Violá! "param.class" finns nu i c:jdk1.3.1bin.
-------------
När du sen fattar bättre hur det funkar på dos-nivå, så kan du väl skaffa dig JCreator (grafiskt interface för java - slipper dos-prompten):
Sidan: http://www.jcreator.com
Download: http://www.students.cs.uu.nl/p.....rea200.zip
--------------
Och ändra path som Jonaz förklarade!
May 1, 2002
Här är min fil:
import java.applet.*;
import java.awt.*;
import java.lang.*;
/**
* HelloAgainWorld.class
* @version 0.1
* author DjDanne
*/
public class HelloAgainWorld extends Applet{
Label helloLabel = new Label ();
String infoString = "unassigned";
public void init () {
infoString = getParameter("info");
helloLabel.setText(infoString);
add(helloLabel);
}
}
Tack!
[ Detta Inlägg ändrades av: djdannedj den 2002-07-02 16:01 ]
[ Detta Inlägg ändrades av: djdannedj den 2002-07-02 21:59 ]
May 8, 2001
Inget fel på koden. Den ska dock ligga i en fil som heter "HelloAgainWorld.java" om den inte gör det. ÄNDRA NAMNET I ANNAT FALL!
Lite frågor:
* Vad händer om du bara kör kommandot "javac" utan parametrar? Borde komma lite instruktioner.
* Vad händer om du ( efter det att du ändrat namnet på filen ) kör "javac HelloAgainWorld.java"?
Jag tror att allt strul beror på att du har felaktiga namn eller kompilerar fel fil eller något sådant enkelt. Så byt namn och testa igen!
Berätta gärna hur det går.
Lycka till!
[ Detta Inlägg ändrades av: jonaz den 2002-07-02 22:39 ]
Desktop: Gigabyte GA-MA770-DS3 | AMD Phenom II 955 BE | 8GB PC6400 | Samsung 1TB + 500GB | Powercolor HD3870
3DMark 2006: 11932 3DMark Vantage: P5137
Laptop: Macbook Pro 2012 | 8GB | Samsung 830 128GB SSD
HTPC: Mac Mini | 3GB | 500GB
May 1, 2002
May 8, 2001
Och du har nu ingen fil som heter HelloAgainWorld.class i din bin-katalog?
Börjar bli lite skumt detta....
Men man ska inte ge upp!
[ Detta Inlägg ändrades av: jonaz den 2002-07-03 12:45 ]
Desktop: Gigabyte GA-MA770-DS3 | AMD Phenom II 955 BE | 8GB PC6400 | Samsung 1TB + 500GB | Powercolor HD3870
3DMark 2006: 11932 3DMark Vantage: P5137
Laptop: Macbook Pro 2012 | 8GB | Samsung 830 128GB SSD
HTPC: Mac Mini | 3GB | 500GB
May 1, 2002
February 9, 2002
Tjena igen! Lite struligt det där, he, he.
Jag har aldrig kört en applet - bara "vanliga" java-program, men där måste iaf classen (alltså: HelloAgainWorld) heta exakt likadant som själva .java-filen.
Alltså, döp om param.java till HelloAgainWorld.java, så kanske det går.
Iofs, du borde få ett komileringsfel om detta var felet...hmmm
May 1, 2002
2 Guest(s)