|
| 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.
| |
|
|