Avatar billede eerikk Nybegynder
31. august 2002 - 22:26 Der er 19 kommentarer og
1 løsning

Pakkestruktur-problem

Jeg har tre beans - lad os kalde dem

A, B og C.

De skal alle ligge i en folder/pakke X.

Jeg skriver altså "package X;" i starten af dem alle

A og B er databeans og compiler fint.

C derimod er en Connection-Bean, der laver instanser af
A og B, og forsøger jeg at compile C får jeg en fejl
der siger at A og B ikke kan findes... Hvorfor?

Håber nogen kan give mig et godt svar på dette...

-Erik
Avatar billede disky Nybegynder
31. august 2002 - 22:32 #1
husker du import X, i bean 'C' ?
Avatar billede jakoba Nybegynder
31. august 2002 - 22:36 #2
er du sikker på det er ok at have blanktegn i mappenavnet?
Avatar billede eerikk Nybegynder
31. august 2002 - 22:38 #3
Mener du ikke import A og B i C?
Avatar billede disky Nybegynder
31. august 2002 - 22:39 #4
nej jeg mener

import X.*;

Altså import den package de er i, og så .* for at importere alle.
Avatar billede eerikk Nybegynder
31. august 2002 - 22:41 #5
Her er starten af de tre klasser dom alle ligger i folderen "eerikk":
--------------------------------------------------------
package eerikk;

import BrugerBean;
import SpellBean;
import java.sql.*;
import java.util.Date;
import java.util.Vector;

public class DBCSBean {...
--------------------------------------------------
package eerikk;

public class BrugerBean {...
--------------------------------------------------

package eerikk;

public class SpellBean {...

---------------------------------------------------------


Jeg får fejlen:

[DBCSBean.java:5: cannot access BrugerBean
bad class file: .\BrugerBean.class
class file contains wrong class: eerikk.BrugerBean
Please remove or make sure it appears in the correct subdirectory of the classpath.
import BrugerBean;
^
1 error]
Avatar billede eerikk Nybegynder
31. august 2002 - 22:44 #6
Jegt har prøvet at skrive "import eerikk.*;" i DBCSBean.
Så kan den slet ikke finde klasserne...
Avatar billede disky Nybegynder
31. august 2002 - 22:45 #7
du siger klassen BrugerBean er i Packacge eerikk, men du siger import BrugerBean; det er forkert

Du skal skrive import eerikk.BrugerBean; eller bare import eerikk.*;

altså byt:
package eerikk;

import BrugerBean;
import SpellBean;
import java.sql.*;
import java.util.Date;
import java.util.Vector;

public class DBCSBean {...

ud med:


package eerikk;

import eerikk.BrugerBean;
import SpellBean;
import java.sql.*;
import java.util.Date;
import java.util.Vector;

public class DBCSBean {...
Avatar billede jakoba Nybegynder
31. august 2002 - 22:45 #8
prøv:
  import eerikk.BrugerBean;
  import eerikk.SpellBean;
og brug så diskys:
  import eerikk.*;
Avatar billede disky Nybegynder
31. august 2002 - 22:46 #9
hvis det ikke virker er din classpath forkert, den skal pege på roden af dit pakke hieraki
Avatar billede disky Nybegynder
31. august 2002 - 22:47 #10
ups der skal stå:

package eerikk;

import eerikk.BrugerBean;
import eerikk.SpellBean;
import java.sql.*;
import java.util.Date;
import java.util.Vector;

public class DBCSBean {...



p.s. brug .* istedet, de er meget lettere end at nævne alle klasser specifikt.
Avatar billede eerikk Nybegynder
31. august 2002 - 22:55 #11
Det virker ikke....
Jeg forstår ikke helt det du siger om classpath'en. Skal jeg compile fra DOS og skrive noget bestemt pga. pakkestrukturen?
Avatar billede eerikk Nybegynder
31. august 2002 - 22:57 #12
Jeg skriver:

C:\JSP-Udvikling\ddsys\eerikk>javac DBCSBean.java

og i DBCSBean'en importerer jeg de andre klasser ved "import eerikk.BrugerBean;" osv.
Avatar billede disky Nybegynder
31. august 2002 - 22:59 #13
du står det forkerte sted når du kompiler

Prøv med:

C:\JSP-Udvikling\ddsys>javac eerikk.DBCSBean.java
Avatar billede eerikk Nybegynder
31. august 2002 - 23:04 #14
OK - den kendte jeg ikke MEN jeg få fejlen:

"error: cannot read: eerikk.DBCSBean.java"

Det må vist bare ikke lykkes for mig! :o)
Avatar billede disky Nybegynder
31. august 2002 - 23:04 #15
øjeblik nu skal der tænkes
Avatar billede eerikk Nybegynder
31. august 2002 - 23:07 #16
HA! Jeg fik den - disky havde ret bortset fra at det skulle være;

C:\JSP-Udvikling\ddsys>javac eerikk/DBCSBean.java

og ikke

C:\JSP-Udvikling\ddsys>javac eerikk.DBCSBean.java
Avatar billede disky Nybegynder
31. august 2002 - 23:08 #17
stil dig i C:\JSP-Udvikling\ddsys og skriv

javac -classpath . eeriik\*.java

Så bliver de compilet.
Avatar billede disky Nybegynder
31. august 2002 - 23:08 #18
kanon, det er når man skal afvikle dem per håndkraft man ska bruge . istedet :))
Avatar billede eerikk Nybegynder
31. august 2002 - 23:11 #19
Tak disky - du har været til stpr hjælp :o)
Avatar billede disky Nybegynder
31. august 2002 - 23:14 #20
selv tak :)
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