请问如何在javaBean程序里import自己写的类?

suogy32 2003-09-12 09:08:10
我写了一个javaBean:ConnPool。放在extech.mis的package中。
相在另一个Bean中import ConnPool:
import extech.mis.*

声明private ConnPool connPool;时候出现错误。

错误如下:
C:\j2sdk\bin>javac c:\tree.java
c:\tree.java:9: cannot resolve symbol
symbol : class ConnPool
location: class extech.mis.tree
private ConnPool connPool;
^
c:\tree.java:45: cannot resolve symbol
symbol : class ConnPool
location: class extech.mis.tree
public void setConnPool(ConnPool pool){
^
c:\tree.java:18: cannot resolve symbol
symbol : variable Pool
location: interface java.sql.Connection
conn = conn.Pool.getConnection();
^
3 errors
...全文
64 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangwd 2003-09-12
  • 打赏
  • 举报
回复
包的调用根本没有问题,不需要做那么复杂的工作,tomcat中bean的开始目录就是web-inf/classes下。只要相对路径正确,就不会存在包的调用问题。在修改了bean或重新编译后,一定要重启tomcat。
wangwd 2003-09-12
  • 打赏
  • 举报
回复
你的bean没有包的声明呀,在最上面加上
package extech.mis;
1981520baby 2003-09-12
  • 打赏
  • 举报
回复
应该可以啊。。。。不会是缓存的原因吧???
bobZ 2003-09-12
  • 打赏
  • 举报
回复
ConnPool.java 有没有这一句 package extech.mis; ?
suogy32 2003-09-12
  • 打赏
  • 举报
回复
bobZ(蓝眼):还是不行,应该是导入没问题,但就是不能声明,我不知道是不是ConnPool类写的有问题,代码在上边,请给看看。
bobZ 2003-09-12
  • 打赏
  • 举报
回复
整个extech不要压缩,放在common下试试
suogy32 2003-09-12
  • 打赏
  • 举报
回复
zwxu(zwxu)、rinehart(rinehart) :
看错误提示不是import的问题,一般调用另一个bean,如果都在同一路径,调用没问题,看提示可能是你的connpool写的有问题,看看类声明和类方法的声明方式,一般外调用需要声明为public。
导入没有问题,我试了试声明别的类,在同一目录下,也不行,不知道为什么,谢谢了
suogy32 2003-09-12
  • 打赏
  • 举报
回复
1、将package的文件夹放在classpath中还是不行
2、package放在tomcat\common中还是不行
3、我已经设置了classpath=.;
我的ConnPool bean如下:
//数据库连接池
public class ConnPool {
private static final int defaultMaxConnections = 10;
private Hashtable boundConnections;//在用连接,被绑定的连接
private Vector freeConnections;//未被配置出去的连接对象
private String driverName;
private String jdbcURL;
private String userName;
private String passWord;
private int maxConnections;

//构建函数
public ConnPool( int numConnections ) {
maxConnections = numConnections;
boundConnections = null;
freeConnections = null;
driverName = "";
jdbcURL = "";
userName = "";
passWord = "";
}

public ConnPool() {
this(defaultMaxConnections);
}
//构建函数结束
问题出在那里??救命
rinehart 2003-09-12
  • 打赏
  • 举报
回复
你调用的bean必须有一个包,不能放在最外面
chenxb1980 2003-09-12
  • 打赏
  • 举报
回复
classpath=.;
cadwolf 2003-09-12
  • 打赏
  • 举报
回复
public 允许包外调用
private 只能类内调用
protected 除了包外调用
bobZ 2003-09-12
  • 打赏
  • 举报
回复
将package放到tomcat\common下
jackal81 2003-09-12
  • 打赏
  • 举报
回复
把你package的文件夹放到classpath中就可以了
suogy32 2003-09-12
  • 打赏
  • 举报
回复
rainshow(雨扬):
kaibinsj(天翔) :
我的ConnPool类声明为public类,已经放在了extech.mis中了,可是
import extech.mis.ConnPool;就说
cannot resolve symbol:
localtion package mis
import extech.mis.ConnPool;
zwxu 2003-09-12
  • 打赏
  • 举报
回复
看错误提示不是import的问题,一般调用另一个bean,如果都在同一路径,调用没问题,看提示可能是你的connpool写的有问题,看看类声明和类方法的声明方式,一般外调用需要声明为public
kaibinsj 2003-09-12
  • 打赏
  • 举报
回复
声明成public类,再放在你声明包里面就行。
yugona 2003-09-12
  • 打赏
  • 举报
回复
改private为public
suogy32 2003-09-12
  • 打赏
  • 举报
回复
1981520baby(舍甫琴科):我在classpath中加了这个类所在的目录,还是不行啊
wangwd(coffee I love) :import extech.mis.ConnPool后在上面的错误前出现了
cannot resolve symbol:
localtion package mis
import extech.mis.ConnPool;

我用的是tomcat,要编译的bean和要导入的bean在同一个目录下,可能是classpath有问题,救命啊,急得很!!
wangwd 2003-09-12
  • 打赏
  • 举报
回复
import extech.mis.ConnPool
1981520baby 2003-09-12
  • 打赏
  • 举报
回复
将你做的类放到环境变量所在目录!
加载更多回复(5)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧