Avatar billede javaknold Nybegynder
13. april 2003 - 22:36 Der er 13 kommentarer og
1 løsning

Package problem

Problem med packages

Har følgende mapper

d:\dir1\dir2\dir3

Er det ikke muligt for en class i dir3,
at initiere et object placeret i dir1.

Jeg har ingen succes med et import statement!

Er der nogen som kan hjælpe ??
Avatar billede r9 Nybegynder
13. april 2003 - 22:37 #1
det skal virke med import.

Kan du smide noget kode?
Avatar billede arne_v Ekspert
13. april 2003 - 22:40 #2
Hvis din klasse i dir1 ligger i pakke dir1, så bør:

import dir1.KlasseNavn;

og:

-classpath D:\

virke !

(bemærk at classpath skal pege på roden af pakke strukturen)
Avatar billede javaknold Nybegynder
13. april 2003 - 22:52 #3
Godt - for jeg var lige ved at blive sindssyg

Jeg er bange for eksperten går ned hvis jeg smider al den kode her.

For følgende fejl: package dir1 does not exist
når jeg kompilerer filen i dir3.
Avatar billede arne_v Ekspert
13. april 2003 - 22:55 #4
Du har en klasse hvor EnKlasse.java filen ligger i D:\dir1\dir2\dir3
og i den klasse har du en:

import dir1.KlasseNavn;

og KlasseNavn.java ligger i D:\dir1 og har:

package dir1;

?
Avatar billede arne_v Ekspert
13. april 2003 - 22:56 #5
Hvordan compiler du ?

command line ? IDE ?

Og har du classpath til at pege på D:\ ?
Avatar billede javaknold Nybegynder
13. april 2003 - 23:00 #6
Startede med IDE !!

Men nu er det lykkedes mig at kompilere fra cmd, MED SAMTIDIG ANGIVELSE AF CLASSPATH. Fik dog ny fejl som jeg lige fedter med, så jeg er kommet et stykke længere !!
Avatar billede javaknold Nybegynder
13. april 2003 - 23:32 #7
Kan ikke rigtig for det til at gå op i en højere enhed

arne>  Er det nødvendigt filen 'KlasseNavn.java' har 'package dir1;' ????

KlasseNavn.java ligger i D:\dir1 og har:

package dir1;
Avatar billede arne_v Ekspert
13. april 2003 - 23:35 #8
Java filer i D:\dir1 skal enten være i package dir1 eller i
default package (uden package direktiv).

Det sidstnævnte vil give dig store problemer.

Så ja.
Avatar billede javaknold Nybegynder
13. april 2003 - 23:41 #9
Okay - d.v.s. jeg bør altid bruge 'package dir1' i mine java filer eller
'package dir2' hvis denne mappe havde været udgangspunktet for det jeg vil lave ???
Avatar billede arne_v Ekspert
13. april 2003 - 23:44 #10
Hvis din directory struktir er:

D:\dir1\dir2\dir3

så skal:

D:\dir1\Klasss.java have:
package dir1;

D:\dir1\dir2\Klasss.java have:
package dir1.dir2;

D:\dir1\dir2\dir3\Klasss.java have:
package dir1.dir2.dir3;

fordi så kan du fange alle 3 dirs med:

-classpath D:\
Avatar billede arne_v Ekspert
13. april 2003 - 23:46 #11
et eller andet ovenfor er et svar.

:-)
Avatar billede javaknold Nybegynder
13. april 2003 - 23:52 #12
Selvfølgelig - du har ret !!

Jeg har ikke fået det til at virke endnu, men det kommer nok, der er lige nogle ting jeg skal have rettet til m.h.t. packages !

Kaster lige nogle points, tillader mig at dele i forholdet 10/30,
da r9 trods alt, fik mig til igen at tro en lille smule på mig selv.

Håber det er OK med dig arne!
Avatar billede javaknold Nybegynder
13. april 2003 - 23:53 #13
Hov den smuttede, det må du undskylde r9.
Avatar billede javaknold Nybegynder
13. april 2003 - 23:54 #14
Jeg tror jeg går i seng, det er jo svært at give point til en kommentar!!
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