🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
2 messages
2 total messages Started by miron123 Mon, 22 Dec 2014 13:06
dostęp do pakietów
#154108
Author: miron123
Date: Mon, 22 Dec 2014 13:06
70 lines
2550 bytes
Ucząc się javy utknąłem z problemem dostępu do pakietów. 

Mam dwa pliki:
package access.net.moje.simple;

public class List
{
	public List()
	{
		System.out.println("net.moje.simple");
	}
}

package access.net.moje.simple;

public class Vector
{
	public Vector()
	{
		System.out.println("net.moje.simple.Vector");
	}
}
oba umieszczone w ~/java/access/net/moje/simple i "skompilowane" (javac) 

oraz 
import access.net.moje.simple.*;

public class LibTest
{
	public static void main(String args[])
	{
		Vector v = new Vector();
		List l = new List();
	}
}
umieszczony w ~/java/access

$ echo $CLASSPATH
:.:/home/miron/java

I teraz jest problem...

$ javac LibTest.java
LibTest.java:1: error: package access.net.moje.simple does not exist
import access.net.moje.simple.*;
^
LibTest.java:7: error: cannot find symbol
                Vector v = new Vector();
                ^
  symbol:   class Vector
  location: class LibTest
LibTest.java:7: error: cannot find symbol
                Vector v = new Vector();
                               ^
  symbol:   class Vector
  location: class LibTest
LibTest.java:8: error: cannot find symbol
                List l = new List();
                ^
  symbol:   class List
  location: class LibTest
LibTest.java:8: error: cannot find symbol
                List l = new List();
                             ^
  symbol:   class List
  location: class LibTest
5 errors


Co jest źle?
Re: dostęp do pakietów
#154109
Author: Arivald
Date: Mon, 22 Dec 2014 18:28
67 lines
2273 bytes
On 2014-12-22 14:06, miron123@go2.pl wrote:
> Ucząc się javy utknąłem z problemem dostępu do pakietów.
>
> Mam dwa pliki:
> package access.net.moje.simple;
>
> public class List
> {
> 	public List()
> 	{
> 		System.out.println("net.moje.simple");
> 	}
> }
>
> package access.net.moje.simple;
>
> public class Vector
> {
> 	public Vector()
> 	{
> 		System.out.println("net.moje.simple.Vector");
> 	}
> }
> oba umieszczone w ~/java/access/net/moje/simple i "skompilowane" (javac)
>
> oraz

najpierw, na początku pliku

   package access;

skoro plik w ~/java/access

> import access.net.moje.simple.*;
 >
> public class LibTest
> {
> 	public static void main(String args[])
> 	{
> 		Vector v = new Vector();
> 		List l = new List();
> 	}
> }
> umieszczony w ~/java/access

Po za tym struktura projektu straszna ;-)
Generalnie root do kompilacji powinien być podkatalogiem, zazwyczaj o 
nazwie "java" lub "src", np.

~
   /java
     /projectname
       /doc
       /libs
       /src
         /access
           LibTest.java
           /net
             /moje
               /simple
                 Vector.java
                 List.java


i tak dalej
-- 
Arivald
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads