Avatar billede Peter Praktikant
02. maj 2002 - 15:18 Der er 13 kommentarer og
3 løsninger

Hvad betyder denne fejl?

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 importere 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)

Hvad betyder det? Jeg har inkluderet mappen klasserne ligger i, i CLASSPATH.
 
Avatar billede carstenknudsen Nybegynder
02. maj 2002 - 15:23 #1
Du kører programmet som:
java -cp . MyProgram
hvor MyProgram skal indeholde main metoden.
Hvis nogle af dine klasser ikke ligger
lokalt skal de tilføjes til "." i ovenstående,
som i .:/home/user/me/java/packages eller
noget tilsvarende, dog ; i stedet for :
for Windows vedkommende.
Avatar billede lyhr007 Nybegynder
02. maj 2002 - 15:23 #2
Er det den samme JRE du kører det i?
Avatar billede carstenknudsen Nybegynder
02. maj 2002 - 15:24 #3
Husker du at skrive k2.MyProgram hvis
det ligger i k2?
Avatar billede Peter Praktikant
02. maj 2002 - 15:29 #4
CarstenKnudsen > jeg har allerede tilføjet . til min classpath og K2 mappen er også tilføjet.
Jeg kører med sdk 1.3.1, jeg ved ikke hvilken version de har på skolen.
Avatar billede Peter Praktikant
02. maj 2002 - 15:30 #5
jeg har importeret dem med
import K2.CurveViewer; og så fremdeles for de andre.
Avatar billede carstenknudsen Nybegynder
02. maj 2002 - 15:30 #6
Hvis programmet med main metoden ligger
i k2 skal du skrive
java -cp . k2.MyProgram
ellers kan den ikke finde det.
Det er ikke nok at tilføge k2
i classpath'en.
Avatar billede Peter Praktikant
02. maj 2002 - 15:32 #7
jeg har en klasse der hedder Main som indeholder main-metoden. Denne ligger i roden og resten ligger i mappen K2. Jeg kan sagtens compile skidtet, jeg kan bare ikke køre det.
Avatar billede Peter Praktikant
02. maj 2002 - 15:33 #8
Det skal lige tilføjes, at jeg godt kan compile og køre andre programmer hvor main-metoden ligger i roden og der ligger nogle klasser i K2.
Avatar billede carstenknudsen Nybegynder
02. maj 2002 - 15:39 #9
Du skriver helt præcist:
java -cp .:pathtok2 Main
og den kan ikke finde main?
Avatar billede carstenknudsen Nybegynder
02. maj 2002 - 15:41 #10
Lille og stort k2/K2? Det er også vigtigt.
Avatar billede Peter Praktikant
02. maj 2002 - 15:44 #11
Jeg siger ikke den ikke kan finde main. Jeg siger den giver den fejl som jeg har skrevet. Jeg går da stærkt ud fra den har fundet main.
Avatar billede Peter Praktikant
02. maj 2002 - 15:45 #12
en hurtig test siger den sagtens kan finde main, men jeg får fejlen:

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)

Prikken betyder bare, at der er et par linjer mere med tilsvarende fejl som de 2 første.
Avatar billede carstenknudsen Nybegynder
02. maj 2002 - 15:46 #13
Det har den også, det troede jeg først at
den ikke havde.
Avatar billede jkrag Nybegynder
02. maj 2002 - 16:08 #14
Stacktracet fortæller at fejlen sker inde i constructoren til RotationManager (linie 30).
Det er formodentlig derinde du bruger noget den ikke kan finde.

Men hvad mener du præcist når du skriver " Jeg importere dem jeg skal bruge i starten af main-metoden. " i dit oprindelige spørgsmål? Det er lidt noget sludder, så du mener sikkert noget andet.

Håber du kommer videre.
Avatar billede Peter Praktikant
02. maj 2002 - 16:12 #15
jeg importerer dem selvfølgelig før main-metoden.
Jeg havde godt regnet med, at det var i konstruktoren at det var galt udfra metode navnene.
Men hvorfor kan jeg kører det på skolen og ikke herhjemme?
Avatar billede Peter Praktikant
03. maj 2002 - 16:37 #16
jeg afinstallerede java sdk 1.3.1 og installerede 1.4, dette løste problemet, hvorfor?
Jeg har hørt andre der har kørt 1.3.1 hvor det har virket.
Tak for hjælpen alligevel, hvis der er nogen der kan svare på hvorfor det virker nu er jeg meget interesseret.
Vi deler i porten.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester