PDA

View Full Version : [JAVA] problema con package


DrZoidberg
13-07-2006, 14:43
Ho un problema con i package!
Ho delle directory cosi strutturare
|_classes
|_beans
User.java
|_tags
Login.java


User.java è un Bean scritto correttamente , con ovviamente il comando "package beans;" all'inizio del file.

Login.java all'inizio del file fa una import beans.*;

In fase di compilazione mi dice che il package beans non esiste!!!!!!

Come mai nn lo trova? Ho provato a compilare anche spostando il file Login.java nella directory classes...ma niente!

:help:

Mr.Paschi!
13-07-2006, 22:26
Prova a scrivere l'errore che ti da la console... sii più preciso..

DrZoidberg
13-07-2006, 23:29
Forse nn si capisce bene come sono messe le directory!
La directory classes è quella principale, tags e beans sono subdirectory di classes.

La console mi dice semplicemente che il package beans does not exists !!!!

lovaz
14-07-2006, 09:04
Tipicamente la directory beans non e' nel classpath.

Prova a compilare con

javac -cp .. Login.java

DrZoidberg
14-07-2006, 14:46
Usando il comando che dici te, trova il package beans ma poi nn trova tutti gli altri import javax. :/

lovaz
14-07-2006, 17:50
prova

javac -cp :.. Login.java

DrZoidberg
14-07-2006, 18:02
Non funziona ugualmente!
Allora, io nel mio file -java faccio le seguenti import

import beans.*;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import javax.servlet.http.HttpSession;

se compilo con javac -cp .. Login.java.....mi trova i beans ma non mi trova gli altri package! Mi da i seguenti errori :

package javax.servlet.jsp. does not exist
package javax.servlet.jsp.tagext does not exist
package javax.servlet.http.HttpSession does not exist

se compilo con javac -cp :.. Login.java ...... mi da

package beans does not exist
package javax.servlet.jsp. does not exist
package javax.servlet.jsp.tagext does not exist
package javax.servlet.http.HttpSession does not exist

Se invece compilo normalmente javac Login.java mi da solo

package beans does not exist

lovaz
14-07-2006, 18:12
Prova da classes a dare:

javac tags/Login.java

DrZoidberg
14-07-2006, 18:17
non mi trova il package beans
:muro:

DrZoidberg
17-07-2006, 20:17
Risolto!!! :D

Grazie mille!!!

guldo76
23-07-2006, 20:42
Come hai risolto?
Io ho un problema analogo...
Mi sono scaricato una classe java (SwingWorker.java), che ho compilato, e ho messo il file class nella directory classes:
<root>/classes
poi ho un mio package con un mio file java che fa riferimento a SwingWorker, e sta nella sua bella dir:
<root>/<pkg>/Pippo.java
se cerco di compilarlo mi da un errore:
cd <root>
javac -d classes -cp :classes <pkg>/Pippo.java

<pkg>/Pippo.java:11: cannot find symbol
symbol: class SwingWorker
public class Pippo extends SwingWorker{

Come devo fare per fargli trovare il SwingWorker.class ? :muro:

lovaz
24-07-2006, 10:24
hai messo

import SwingWorker;

?

guldo76
24-07-2006, 20:21
Grazie della risposta. :D
Sì, ho provato anche mettendo esplicitamente
import SwingWorker;
(anche se non credevo servisse), ma:
<pkg>/Pippo.java:11: '.' expected
import SwingWorker;
^
1 error

Altre idee?

DrZoidberg
25-07-2006, 00:10
devi scrivere import SwingWorker.*;

guldo76
25-07-2006, 20:50
devi scrivere import SwingWorker.*;
No, perché SwingWorker è una classe, non un package.
<pkg>/Pippo.java:11: package SwingWorker does not exist
import SwingWorker.*;
^
<pkg>/Pippo.java:13: cannot find symbol
symbol: class SwingWorker
public class LANWorker extends SwingWorker{
^
2 errors

Grazie cmq.

DrZoidberg
25-07-2006, 23:22
ahhhhhhhhhhh ok

allora prova a fare una cosa: metti quella classe in un package ed importa direttamente il package!!!

nn so se funziona....tentar nn nuoce!

:)

guldo76
26-07-2006, 20:48
Sì!!!
Così ha funzionato :D
L'ho messo nello stesso package che sto facendo io, e la compilazione è andata bene.

Grazie mille :D

DrZoidberg
26-07-2006, 21:22
di niente ! :)

gattone0_0
28-11-2007, 17:52
Scusate ho lo stesso problema ma non ho capito cosa vuol dire:"allora prova a fare una cosa: metti quella classe in un package ed importa direttamente il package!!!"Mi spiego meglio,quando cerco di compilare un file java per avere la class mi dice che il package javax servlet non esiste così come l'altro ,javax.servlet.http.Il codice è questo:


import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class CiaoMondo extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse res)

throws ServletException,IOException {

res.setContentType("text/html");
PrintWriterout = res.getWriter();

out.println("<HTML>");
out.println("<HEAD><TITLE>Ciao, mondo!</TITLE></HEAD>");
out.println("<BODY>");
out.println("<STRONG>Ciao, mondo!</STRONG>");
out.println("</BODY></HTML>");
}
La classpath è questa :"C:\Programmi\Apache\SoftwareFoundation\Tomcat\6.0\lib\servlet-api"
La path è questa:C:\Program Files\PC Connectivity Solution\;C:\Programmi\Java\jdk1.6.0_03\bin;C:\Program Files\VistaCodecPack\QT\QTSystem\;C:\Program Files\MySQL\MySQL Server 6.0\bin
Java home è questa:"C:\Programmi\jdk1.6.0_03".
Ho i seguenti software installati:Mysql,tomcat,java jcreator.
Mi fate capire perchè non riesco a comporre il file class di questo file java?Grazie tante.