Avatar billede nutten Nybegynder
21. april 2001 - 11:26 Der er 28 kommentarer og
2 løsninger

Package

Jeg har en package, der indeholder 2 klasser i hver sin class-fil. Hvad biblioteker skal class-filerne ligge i og hvad skal classpath sættes til, når jeg skal bruge disse class-filer?
Pakken hedder Intern, og class-filerne hedder analyze.class og retrieve.class.

Jeg får følgende fejl, når jeg prøver at lave et program, der bruger en af klasserne:

\"D:\\Intern\\test.java:1: cannot access analyze
bad class file: .\\analyze.class
class file contains wrong class: Intern.analyze
Please remove or make sure it appears in the correct subdirectory of the classpath.
import Intern.*;\"
      ^

Avatar billede birkis Nybegynder
21. april 2001 - 11:37 #1
\"Jeg får følgende fejl, når jeg prøver at lave et program, der bruger en af klasserne:\"

Hvordan ser det programmet ut?  Hvordan kaller du analyze.class eller retrieve.class?

Hvilket program (JBuilder, VisualAge, Forte etc.) bruker du?
Avatar billede nutten Nybegynder
21. april 2001 - 11:44 #2
Jeg bruger JDK 1.3. I analyze.class er defineret nogle metoder, som jeg skal bruge til at analysere forskellige ting.

Det eneste der er i programmet udover det der skal være er:

tester mara = new tester();

Denne \"tester\" ligger i analyze.class

Alle filerne ligger i samme bibliotek.
Avatar billede birkis Nybegynder
21. april 2001 - 11:59 #3
Jeg klarer ikke helt å se hva som er feil, dessverre.

Kanskje (måske) jeg kunne få se filene?
Avatar billede birkis Nybegynder
21. april 2001 - 12:01 #4
Et spm. forresten:

Hvorfor bruker du \"import Intern.*;\"?  Det er vel ikke nødvendig når filene ligger i samme bibliotek?
Avatar billede nutten Nybegynder
21. april 2001 - 12:01 #5
Jeg har desværre kun class-filerne, med tilhørende dokumentation. Det er ikke mig der har lavet dem :(
Avatar billede nutten Nybegynder
21. april 2001 - 12:04 #6
Jeg får stadig denne fejl, selvom jeg ikke importerer:

\"D:\\Intern\\test.java:5: cannot access analyze
bad class file: .\\analyze.class
class file contains wrong class: Intern.analyze
Please remove or make sure it appears in the correct subdirectory of the classpath
  tester mara = new tester();\"
                    ^
Avatar billede birkis Nybegynder
21. april 2001 - 12:08 #7
\"Jeg får stadig denne fejl, selvom jeg ikke importerer\"

Ja, men nå var det en annen feil...

---

Dessverre er jeg nødt til å gjøre et ærend nå.  Jeg er tilbake om et par timer hvis du ikke har fått hjelp til da.
Avatar billede nutten Nybegynder
21. april 2001 - 12:09 #8
Takker.
Avatar billede birkis Nybegynder
21. april 2001 - 13:33 #9
ok...  Jeg er tilbake.

Dessverre forstår jeg fremdeles ikke hva som går galt hos deg.

Men hvis du sender filene (din .java + .class og evt. + dokumentasjon) til birkis@sol.dk, kan jeg få se på dem her hos meg.
Avatar billede ejoergensen Nybegynder
21. april 2001 - 14:02 #10
hvad bruger du til at compile dem med? er du sikker på de er kompilet?
Avatar billede nutten Nybegynder
21. april 2001 - 14:12 #11
Jeg bruger JDK 1.3 og de har begge *.class, jeg går ud fra de er kompileret.
Avatar billede ejoergensen Nybegynder
21. april 2001 - 14:20 #12
jdk er ikke compiler, men programmeringsværktøj. Kan regne ud du ikke har decideret kompilingsprogram. hver gang du ændrer i en fil skal den recompiles, ellers kan den ikke køre. du sagde du havde slettet import intern, huskede du så at compile bagefter?
Avatar billede nutten Nybegynder
21. april 2001 - 14:21 #13
Jepsen, og det spørgsmål før så mente jeg den compiler, der følger med JDK 1.3 javac :)
Avatar billede ejoergensen Nybegynder
21. april 2001 - 14:25 #14
er dine klassenavne skrevet med småt? De skulle gerne være med stort!
Avatar billede birkis Nybegynder
21. april 2001 - 14:25 #15
nutten >> Det er riktig at de to .class-filer du har, allerede er compilet.  Det er bare din egen kode du skal compile, og det regner jeg med at du gjør med \"javac dinkode.java.\"

Jeg finner ikke passordet til min sol.dk-mail.  Hvis du bestemmer deg for å sende meg filene, må du sende til birkis@nameplanet.com
Avatar billede nutten Nybegynder
21. april 2001 - 14:26 #16
birkis >> det er iorden. Tak for hjælpen indtil nu.
Avatar billede nutten Nybegynder
21. april 2001 - 14:28 #17
Jeg har lige gået det hele igennem og rettet til store/små bogstaver, men den nægter at kende til pakken Intern :(

Avatar billede ejoergensen Nybegynder
21. april 2001 - 14:42 #18
har du intern liggende i dit jdk bibliotek?
Og din classpath angivet til den faktiske placering?
Avatar billede nutten Nybegynder
21. april 2001 - 14:46 #19
Jeg har prøvet at lægge Intern-bib. under JDK, hvori mine class-filer ligger. I min classpath har jeg sat det til jdk1.3\\Intern, men den kan ikke finde pakken.
Avatar billede birkis Nybegynder
21. april 2001 - 14:58 #20
Ditt Intern-bib. - er det .class eller .jar??

Hvis det er .class, trodde jeg det var tilstrekkelig at disse var i samme mappe som din egen .java-fil.
Avatar billede nutten Nybegynder
21. april 2001 - 15:00 #21
Det troede jeg også. De 2 class-filer ligger i Intern-bib. sammen med min egen java-fil.

Men hvorfor den siger \"bad classfile\" har jeg ingen ide om :(
Avatar billede ejoergensen Nybegynder
21. april 2001 - 15:03 #22
prøv at omdøb. Du har vel ikke en metode i klassen der hedder det samme som din klasse?
Avatar billede nutten Nybegynder
21. april 2001 - 15:05 #23
nej, det har jeg ikke. Jeg bliver snart grøn i hovedet af det her.
Avatar billede birkis Nybegynder
21. april 2001 - 15:08 #24
hehe, det forstår jeg godt... :)

Jeg forstår heller ikke hva den mener med \"bad classfile\".  Jeg tror jeg måtte sett koden...
Avatar billede ejoergensen Nybegynder
21. april 2001 - 15:09 #25
det eneste jeg snart kan tænke mig er at analyze evt. er et reserveret ord og derfor ikke må bruges som klassenavn. Hvis det ikke er det, kræver det godt lidt mere overvejelse.
Avatar billede codemon Nybegynder
21. april 2001 - 22:05 #26
class filerne skal være kompileret til at ligge i en Intern-bib - package, ellers får du fejlmeddelelsen \"class file contains wrong class: \", har du selv bestemt package (mappe) navnet?.

Du kan se package-navnet ved at åbne class-filen og søge efter /analyze , så skulle der fx stå Intern-bib/analyze.

Findes /analyze ikke, er der ikke angivet en package da filen blev kompileret og du skal så have den liggende i samme mappe som dine andre javafiler.

>> ejoergensen, jdk er selve java, dvs fortolker, compiler, mm. et program som forte bruger javac og java fra jdk, når det kompiler og eksekverer javaprogrammer.

analyze er ikke et reserveret ord i java.
Avatar billede ejoergensen Nybegynder
23. april 2001 - 12:36 #27
codemon ved det godt, kunne bare ikke huske at doskompileren lå i. Derudover har du ret, men gik jeg ud fra at han havde gjort, da han lavede dem.
Avatar billede nutten Nybegynder
24. april 2001 - 13:25 #28
ejoergensen og birkis >> Jeg har kontaktet ham, der har lavet pakkerne, så jeg kan få .java filerne. Hvis i lige lægger et svar, så får i for ulejligheden :)
Tak for hjælpen.
Avatar billede ejoergensen Nybegynder
25. april 2001 - 08:54 #29
Ok, Godt vi kunne hjælpe.
Erik
Avatar billede birkis Nybegynder
25. april 2001 - 15:08 #30
Håper du finner ut av det...
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