Avatar billede aslan Nybegynder
14. oktober 2002 - 15:01 Der er 6 kommentarer og
1 løsning

import fra en anden mappe?

Jeg har 2 mapper, funktionsKomponent og modelKomponent. Alle klasser i disse mapper er packages. Mit problem er at jeg har en klasse i den ene mappe der skal benytte sig af en funktion fra den anden mappe. Hvordan gør man det? Hvordan kan man gå en mappe tilbage og en map frem til en anden mappe når man importere i java?
Avatar billede arne_v Ekspert
14. oktober 2002 - 15:10 #1
Du skal have en mappe per package.

Så en mappe indeholder en package som indeholder en eller flere
classes/interfaces (java-filer).

Derved kan java altid finde filerne udfra pakke navnet.
Avatar billede jakoba Nybegynder
14. oktober 2002 - 15:10 #2
hvis du kompilerer med:

javac  modelKomponent/klassederskalbrugenogetifunktionskomponent.java

så skulle der ikke være problemer med at importere pakken funktionskomponent.

noget andet er at idealet vel er at det skulle være overflødigt. hvis din opdeling i pakker laves korrekt.
Avatar billede arne_v Ekspert
14. oktober 2002 - 15:14 #3
Hvis jeg skal uddybe lidt:
- hvis din root er C:\java\src
- så skal filerne i pakken test.sub1 være i C:\java\src\test\sub1
- så skal filerne i pakken test.sub2 være i C:\java\src\test\sub2
- og du kan referere med import test.sub1.*; og import test.sub2.*;
Avatar billede aslan Nybegynder
14. oktober 2002 - 15:23 #4
Ok det kan være jeg skal gå dybere med forklaringen. Jeg har i min Funktions_Komponent mappe en klasse jeg skal bruge som hedder FK_ConnectDB. Starten på den seer sådan ud:

package Funktions_Komponent;

import java.sql.*;

public class FK_ConnectDB
{


I min Model_Komponent mappe har jeg en klasse der skal benytte sig af ovenstående klasse dens start seer sådan ud:

package Model_Komponent;

import Funktions_Komponent.*;
import java.sql.*;


public class MK_Leverandoer
{
    FK_ConnectDB db;


Begge mapper ligger i samme mappe, når jeg compiler class MK_Leverandoer får jeg denne fejl:

--------------------Configuration: j2sdk1.4.1 <Default>--------------------
C:\Documents and Settings\Erol Eskici\Skrivebord\Inco-System\Model_Komponent\MK_Leverandoer.java:3: package Funktions_Komponent does not exist
import Funktions_Komponent.*;
^
C:\Documents and Settings\Erol Eskici\Skrivebord\Inco-System\Model_Komponent\MK_Leverandoer.java:9: cannot resolve symbol
symbol  : class FK_ConnectDB
location: class Model_Komponent.MK_Leverandoer
    FK_ConnectDB db;
        ^
C:\Documents and Settings\Erol Eskici\Skrivebord\Inco-System\Model_Komponent\MK_Leverandoer.java:11: cannot resolve symbol
symbol  : class FK_ConnectDB
location: class Model_Komponent.MK_Leverandoer
    public MK_Leverandoer(FK_ConnectDB db)
                              ^
3 errors

Process completed.
Avatar billede arne_v Ekspert
14. oktober 2002 - 15:27 #5
Din classpath skal pege på din root.

Altstå den mappe som indeholder dine 2 mapper.
Avatar billede aslan Nybegynder
14. oktober 2002 - 15:33 #6
Jeg går ind på Denne computer/egenskaber/avanceret/miljøvariabler/Classpath

Hele min classpatch seer nu således ud:

C:\j2sdkee1.3.1\lib\j2ee.jar;C:\Documents and Settings\Erol Eskici\Skrivebord\Inco_System

men jeg får stadig samme fejl..
Avatar billede aslan Nybegynder
14. oktober 2002 - 15:35 #7
det virkede sørme :-)
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