/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Hvad betyder denne fejlmeddelelse og hvord~
Fra : Peter


Dato : 02-05-02 14:26

Hej Newsgroup
Jeg har et program bestående af en main-metode og en mappe med
klasser. Disse er alle en del af en pakke K2. Jeg importerer dem jeg
skal bruge i starten af main-metoden. Når jeg compiler programmet er
der ingen problemer.
Når jeg kører programmet på skolen virker det fint, men når jeg kører
det der hjemme får jeg følgende fejlmeddelelse:

Exception in thread "main" java.lang.NoSuchMethodError
at K2.RotationManager.<init>(RotationManager.java:30)
at K2.MotionManager.<init>(MotionManager.java:24)
.
.
.
at Main.main(Main.java:21)

Jeg har inkluderet mappen klasserne ligger i i CLASSPATH.

Hvad betyder fejlmeddelelsen og hvad skyldes den?

Venlig hilsen
Peter


 
 
Torben Brandt (02-05-2002)
Kommentar
Fra : Torben Brandt


Dato : 02-05-02 15:13

Peter <anskjaer_remove@omk.dk> skrev:
> Hej Newsgroup
> Jeg har et program bestående af en main-metode og en mappe med
> klasser. Disse er alle en del af en pakke K2. Jeg importerer dem jeg
> skal bruge i starten af main-metoden. Når jeg compiler programmet er
> der ingen problemer.
> Når jeg kører programmet på skolen virker det fint, men når jeg kører
> det der hjemme får jeg følgende fejlmeddelelse:
>
> Exception in thread "main" java.lang.NoSuchMethodError
> at K2.RotationManager.<init>(RotationManager.java:30)
> at K2.MotionManager.<init>(MotionManager.java:24)
> .
> .
> .
> at Main.main(Main.java:21)
>
> Jeg har inkluderet mappen klasserne ligger i i CLASSPATH.
>
> Hvad betyder fejlmeddelelsen og hvad skyldes den?

Jeg går ud fra at du skriver K2 opgave i dat0 på DIKU, ikk'?

Jeg har ikke fag på DIKU mere, så jeg kan ikke selv hente filerne, men
hvis du sender dem til mig, torben(a)actuar.dk, så skal jeg se på det.
[Selv om du finder fejlen, så må du gerne sende filerne alligevel. Jeg
er lidt nysgerrig...]

mvh Torben


Peter (02-05-2002)
Kommentar
Fra : Peter


Dato : 02-05-02 16:50

Kan det være fordi de klasser hvor den giver fejl er compilet på en
Linux/Unix maskine?

Venlig hilsen
Peter

Morten (02-05-2002)
Kommentar
Fra : Morten


Dato : 02-05-02 17:10

Peter wrote:
> Kan det være fordi de klasser hvor den giver fejl er compilet på en
> Linux/Unix maskine?

Nix.

Se flg. eksempel:

public class abe {
public void hest() {
System.out.println("Hest");
}
}

public class test {
public static void main(String[] args) {
abe a = new abe();
a.hest();
}

}

[brutalis]~>javac test.java
[brutalis]~>java test
Hest

Som forventet. Nu sletter jeg metoden hest fra abe.java, den ser
nu således ud:

public class abe {
// public void hest() {
// System.out.println("Hest");
// }
}


[brutalis]~>javac abe.java
[brutalis]~>java test
Exception in thread "main" java.lang.NoSuchMethodError
   at test.main(test.java:4)

Så det der sker er, at du har compilet en klasse mod noget der havde
metoden, når du så afvikler den i et "andet miljø", opstår problemet.

Mvh Morten


Peter (02-05-2002)
Kommentar
Fra : Peter


Dato : 02-05-02 17:44

On Thu, 02 May 2002 18:09:55 +0200, Morten <usenet@kikobu.com> wrote:

>Peter wrote:
>> Kan det være fordi de klasser hvor den giver fejl er compilet på en
>> Linux/Unix maskine?
>
SNIP
>
>Så det der sker er, at du har compilet en klasse mod noget der havde
>metoden, når du så afvikler den i et "andet miljø", opstår problemet.
>
Men jeg har ikke recompilet noget. Jeg har haft alle klasserne i en
zip-fil og pakket den ud og kørt Main uden at compile, det har virket
på en Unix-station. Når jeg så gør det fuldstændigt samme på en
windows-station kommer der problemer.
Men du mener altså, at der er referencer til nogle klasser jeg ikke
har men som ligger på Unix-maskinen? Eller har jeg misforstået det?
Jeg mener nemlig ikke jeg mangler nogle filer.

Venlig hilsen
Peter

Morten (02-05-2002)
Kommentar
Fra : Morten


Dato : 02-05-02 19:34

Peter wrote:
> On Thu, 02 May 2002 18:09:55 +0200, Morten <usenet@kikobu.com> wrote:
>
>
>>Peter wrote:
>>
>>>Kan det være fordi de klasser hvor den giver fejl er compilet på en
>>>Linux/Unix maskine?
>>
> SNIP
>
>>Så det der sker er, at du har compilet en klasse mod noget der havde
>>metoden, når du så afvikler den i et "andet miljø", opstår problemet.
>>
>
> Men jeg har ikke recompilet noget. Jeg har haft alle klasserne i en
> zip-fil og pakket den ud og kørt Main uden at compile, det har virket
> på en Unix-station. Når jeg så gør det fuldstændigt samme på en
> windows-station kommer der problemer.
> Men du mener altså, at der er referencer til nogle klasser jeg ikke
> har men som ligger på Unix-maskinen? Eller har jeg misforstået det?
> Jeg mener nemlig ikke jeg mangler nogle filer.

Måske har din CLASSPATH en gammel fil liggende før den nye?
Hvad med K2 pakken, er det samme pakke du har hjemme som
på uni?

Mvh Morten


Peter (02-05-2002)
Kommentar
Fra : Peter


Dato : 02-05-02 21:01


>Måske har din CLASSPATH en gammel fil liggende før den nye?
>Hvad med K2 pakken, er det samme pakke du har hjemme som
>på uni?

Det er samme K2 pakke hjemme som på uni. Hvad mener du med den har en
gammel fil liggende?

Peter

Morten (02-05-2002)
Kommentar
Fra : Morten


Dato : 02-05-02 21:45

Peter wrote:
>>Måske har din CLASSPATH en gammel fil liggende før den nye?
>>Hvad med K2 pakken, er det samme pakke du har hjemme som
>>på uni?
>
>
> Det er samme K2 pakke hjemme som på uni. Hvad mener du med den har en
> gammel fil liggende?

Gammel fil: CLASSPATH=oldpkg.har:newpkg.jar - hvis der er klasser
med samme pakkenavn+klassenavn i begge filer, bruges den der kommer
først i CLASSPATH.

Måske er der en anden CLASSPATH på Unix kassen? Mm.. Ellers er jeg
blank, men jeg har aldrig oplevet Java fejle ved at flytte kode
mellem Solaris/Windows/Linux.

Har du mulighed for at recompile? Eller pakke jar filen ud og
dekompilere klassen (evt med 'jad' - google).

Mvh Morten





JN (03-05-2002)
Kommentar
Fra : JN


Dato : 03-05-02 09:30

Peter wrote:

>
>
>>MŒske har din CLASSPATH en gammel fil liggende f¿r den nye?
>>Hvad med K2 pakken, er det samme pakke du har hjemme som
>>pŒ uni?
>
>Det er samme K2 pakke hjemme som pŒ uni. Hvad mener du med den har en
>gammel fil liggende?
>

Ignorer at jeg bruger sygt charset.

Tjek java version linux henholdsvis windows.

/jørgen





Peter (03-05-2002)
Kommentar
Fra : Peter


Dato : 03-05-02 15:42

Hej
Jeg har nu fået løst problemet ved at installere sdk 1.4 i stedet for
1.3.1. Hvorfor det løste problemet ved jeg ikke. Men tak for hjælpen.

Peter

Martin Schultz (03-05-2002)
Kommentar
Fra : Martin Schultz


Dato : 03-05-02 16:59

On Fri, 03 May 2002 16:41:39 +0200, Peter <anskjaer_remove@omk.dk>
wrote:

>Hej
>Jeg har nu fået løst problemet ved at installere sdk 1.4 i stedet for
>1.3.1. Hvorfor det løste problemet ved jeg ikke. Men tak for hjælpen.

Det er fordi programmet er skrevet i java 1.4(benytter funktioner fra)
og ikke kan køre i tidligere versioner.

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste