avatar
Eclipse 编译求助# Java - 爪哇娇娃
s*g
1
很菜的关于package 的问题, 请大家不要耻笑啊。。。
编译文件 A.java 需要用到 文件B.java中的class "MyClass"
文件B的目录是 D:\Programming\JavaBook\ThinkingInJava\TIJ4-code\access\
mypackage
文件B.java的第一行是
package access.mypackage;
文件A.java的第一行是
import access.mypackage.*;
我是这麽设置CLASSPATH的
右键点击project 的property, 选 Java Build Path-->Libraries-->Add Variable
avatar
s*g
2
如果设置正确, 编译A.java是不是不需要打开B.java? 即使用到了B.java中的class.
avatar
g*g
3
I think you should add source folder, and add TIJ4-code
there

【在 s*********g 的大作中提到】
: 很菜的关于package 的问题, 请大家不要耻笑啊。。。
: 编译文件 A.java 需要用到 文件B.java中的class "MyClass"
: 文件B的目录是 D:\Programming\JavaBook\ThinkingInJava\TIJ4-code\access\
: mypackage
: 文件B.java的第一行是
: package access.mypackage;
: 文件A.java的第一行是
: import access.mypackage.*;
: 我是这麽设置CLASSPATH的
: 右键点击project 的property, 选 Java Build Path-->Libraries-->Add Variable

avatar
a*i
4
B.java里怎么不是 class B?
我猜可以试试在Java Build Path里选Libraries tab -> add external class folder.
..

【在 s*********g 的大作中提到】
: 很菜的关于package 的问题, 请大家不要耻笑啊。。。
: 编译文件 A.java 需要用到 文件B.java中的class "MyClass"
: 文件B的目录是 D:\Programming\JavaBook\ThinkingInJava\TIJ4-code\access\
: mypackage
: 文件B.java的第一行是
: package access.mypackage;
: 文件A.java的第一行是
: import access.mypackage.*;
: 我是这麽设置CLASSPATH的
: 右键点击project 的property, 选 Java Build Path-->Libraries-->Add Variable

avatar
s*g
5
多谢了。原来添加source folder啊, 那要CLASSPATH干什么呀?
可以再说详细一些吗?好像选的folder很奇怪
右键点击 project name, new-->source folder-->Browse
随便写个名字TIJ4-code , package explore 就出现了这个folder
然后再右键点击, 添加folder
A.java 中是
import access.cookie2.*;
但如果我添加总目录TIJ4-code, 也就是所有这本书的code都添加了, 反而出错;
如果我只添加包含文件B.java的子目录cookie2, 也出错
反而如果添加中间的目录access, 就不会出错了。
另外如果我只添加了source folder, 不改CLASSPATH也可以编译吗?

【在 g*****g 的大作中提到】
: I think you should add source folder, and add TIJ4-code
: there

avatar
s*g
6
谢谢指正。 B.java里面确实是要被调用的 class B。
就是感觉不知道怎么用CLASSPATH. 比如想用网上别人的class, 难道也得下载到自己的
本地目录里才能用?

folder.

【在 a****i 的大作中提到】
: B.java里怎么不是 class B?
: 我猜可以试试在Java Build Path里选Libraries tab -> add external class folder.
: ..

avatar
h*0
7
编译A需要的是B的class文件或者源文件。有一个就可以了

【在 s*********g 的大作中提到】
: 如果设置正确, 编译A.java是不是不需要打开B.java? 即使用到了B.java中的class.
avatar
s*g
8
还在琢磨呢。 感觉把B.java放到source folder不太好, 虽然可以编译。 但是这样一
来 A和B是在一个package了!文件A和B应该没什么关系, 除了A调用B中的class
另外添加CLASSPATH, (或者添加 class folder)是不是应该添加的是 .jar 文件或者.
class文件? 感觉这样编译A的时候才会查找合适的class,
是不是B的源文件不能添加在CLASSPATH中? 如果只是添加一个.java 文件在CLASSPATH
中,编译A的时候找不到合适的class, 这样才出错的把。
如果B.java不是可执行的(没有main()), 那怎么单独产生B.class file?

【在 h*****0 的大作中提到】
: 编译A需要的是B的class文件或者源文件。有一个就可以了
avatar
g*g
9
For third party jar or unbundled classes,
use add external jars and add external class folder respectively.
It's all common for ant users to copy all libs in a lib folder
in the project.

者.
CLASSPATH

【在 s*********g 的大作中提到】
: 还在琢磨呢。 感觉把B.java放到source folder不太好, 虽然可以编译。 但是这样一
: 来 A和B是在一个package了!文件A和B应该没什么关系, 除了A调用B中的class
: 另外添加CLASSPATH, (或者添加 class folder)是不是应该添加的是 .jar 文件或者.
: class文件? 感觉这样编译A的时候才会查找合适的class,
: 是不是B的源文件不能添加在CLASSPATH中? 如果只是添加一个.java 文件在CLASSPATH
: 中,编译A的时候找不到合适的class, 这样才出错的把。
: 如果B.java不是可执行的(没有main()), 那怎么单独产生B.class file?

avatar
s*g
10
Thanks.
可能我理解的不好,
如果都copy在一个lib folders里,是不是所有的class都是在一个package里面?

【在 g*****g 的大作中提到】
: For third party jar or unbundled classes,
: use add external jars and add external class folder respectively.
: It's all common for ant users to copy all libs in a lib folder
: in the project.
:
: 者.
: CLASSPATH

avatar
h*0
11
不是……
判断package有两个东西。一个是源文件开头的package语句,另一个是class文件的
folder层次

【在 s*********g 的大作中提到】
: Thanks.
: 可能我理解的不好,
: 如果都copy在一个lib folders里,是不是所有的class都是在一个package里面?

avatar
k*u
12
其实是一个东西,源文件开头的package行和文件的目录层次是一致的。

【在 h*****0 的大作中提到】
: 不是……
: 判断package有两个东西。一个是源文件开头的package语句,另一个是class文件的
: folder层次

avatar
h*0
13
有可能被放得不一致啊……

【在 k****u 的大作中提到】
: 其实是一个东西,源文件开头的package行和文件的目录层次是一致的。
avatar
m*t
14
I would recommend that you start with compiling and running
at least one project entirely from command line. It'd help
you understand how the Java source tree and classpath work,
without all the distractions and hand-holding from an IDE.
Once you get past that, you'll find lots of things in Eclipse
actually quite intuitive.

【在 s*********g 的大作中提到】
: 很菜的关于package 的问题, 请大家不要耻笑啊。。。
: 编译文件 A.java 需要用到 文件B.java中的class "MyClass"
: 文件B的目录是 D:\Programming\JavaBook\ThinkingInJava\TIJ4-code\access\
: mypackage
: 文件B.java的第一行是
: package access.mypackage;
: 文件A.java的第一行是
: import access.mypackage.*;
: 我是这麽设置CLASSPATH的
: 右键点击project 的property, 选 Java Build Path-->Libraries-->Add Variable

avatar
s*g
15
Thanks.
我就是对Java source tree 和classpath不清楚。
我现在用import-->File system把我需要的.java file都加到一个Project里面了。这
些 code好像现在都可以运行了, 他们在这个Project下面的目录结构正好跟每个we文件
开头的package路径是一样的。
下面有时间用用commmand line编译。
谢谢楼上各位了。

【在 m******t 的大作中提到】
: I would recommend that you start with compiling and running
: at least one project entirely from command line. It'd help
: you understand how the Java source tree and classpath work,
: without all the distractions and hand-holding from an IDE.
: Once you get past that, you'll find lots of things in Eclipse
: actually quite intuitive.

avatar
s*g
16
急需求问另外一个问题:
我看的书是Thinking in Java, 4th edition.
书中很多的CODE都用了作者自己的Library, 比如说
import net.mindview.util.*;
作者说在www.MindView.net即可下载到code, 问题是我怎么只能下载到书上的 source
code(只包含每章的例子)?
有人使用这本书, 并且用了这个Library了吗?
谢谢。

【在 s*********g 的大作中提到】
: 很菜的关于package 的问题, 请大家不要耻笑啊。。。
: 编译文件 A.java 需要用到 文件B.java中的class "MyClass"
: 文件B的目录是 D:\Programming\JavaBook\ThinkingInJava\TIJ4-code\access\
: mypackage
: 文件B.java的第一行是
: package access.mypackage;
: 文件A.java的第一行是
: import access.mypackage.*;
: 我是这麽设置CLASSPATH的
: 右键点击project 的property, 选 Java Build Path-->Libraries-->Add Variable

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。