当前位置: 技术问答>java相关
为什么同一包下的类不能访问??在线等
来源: 互联网 发布时间:2015-08-20
本文导语: 为什么同一包下的类不能访问?? 我有同一目录下的两个类,其中一个类(ConnectionPool.java)已成功 编译成class,当我编译另一个(DBInitServlet.java)时出现以下错误提示: D:tomcatwebappsmytestWEB-INFclassescomtonytandbutil>javac DBInit...
为什么同一包下的类不能访问??
我有同一目录下的两个类,其中一个类(ConnectionPool.java)已成功
编译成class,当我编译另一个(DBInitServlet.java)时出现以下错误提示:
D:tomcatwebappsmytestWEB-INFclassescomtonytandbutil>javac DBInitServlet
.java
DBInitServlet.java:31: cannot resolve symbol
symbol : variable ConnectionPool
location: class com.tonytan.db.util.DBInitServlet
ConnectionPool.init(ds);
^
1 error
我的路径如下:
classpath=.;D:jdklib;d:jdkjrelibrt.jar;d:jdkmyjarjdbc2_0-stdext.jar;d:jdkmyjarstruts.jar;d:jdkmyjarmm.mysql-2.0.4-bin.jar;d:jdkmyjarservlet.jar
我的两个程序如下:
一、ConnectionPool.java
package com.tonytan.db.util;
import java.sql.SQLException;
import java.sql.Connection;
import javax.sql.DataSource;
//import java.sql.*;
//import javax.sql.*;
public class ConnectionPool {
private DataSource ds;
private static ConnectionPool mySelf;
private ConnectionPool(DataSource ds) {
this.ds = ds;
}
public static void init(DataSource ds) {
mySelf = new ConnectionPool(ds);
}
public static ConnectionPool getInstance() {
if (mySelf == null) {
throw new IllegalStateException("Pool not initialized.");
}
return mySelf;
}
public Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
二、DBInitServlet.java
package com.tonytan.db.util;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import java.sql.SQLException;
import java.sql.Connection;
import javax.sql.DataSource;
import org.apache.struts.util.GenericDataSource;
public class DBInitServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
GenericDataSource ds = new GenericDataSource();
ds.setDriverClass(getInitParameter("driverClass"));
ds.setUrl(getInitParameter("jdbcURL"));
ds.setMinCount(Integer.parseInt(getInitParameter("minCount")));
ds.setMaxCount(Integer.parseInt(getInitParameter("maxCount")));
ds.setAutoCommit(false);
ds.open();
ConnectionPool.init(ds);
} catch (SQLException e) {
e.printStackTrace();
throw new ServletException("Unable to open datasource.");
}
}
}
按道理DBInitServlet应该能访问ConnectionPool的呀,我哪方面做错了???
我有同一目录下的两个类,其中一个类(ConnectionPool.java)已成功
编译成class,当我编译另一个(DBInitServlet.java)时出现以下错误提示:
D:tomcatwebappsmytestWEB-INFclassescomtonytandbutil>javac DBInitServlet
.java
DBInitServlet.java:31: cannot resolve symbol
symbol : variable ConnectionPool
location: class com.tonytan.db.util.DBInitServlet
ConnectionPool.init(ds);
^
1 error
我的路径如下:
classpath=.;D:jdklib;d:jdkjrelibrt.jar;d:jdkmyjarjdbc2_0-stdext.jar;d:jdkmyjarstruts.jar;d:jdkmyjarmm.mysql-2.0.4-bin.jar;d:jdkmyjarservlet.jar
我的两个程序如下:
一、ConnectionPool.java
package com.tonytan.db.util;
import java.sql.SQLException;
import java.sql.Connection;
import javax.sql.DataSource;
//import java.sql.*;
//import javax.sql.*;
public class ConnectionPool {
private DataSource ds;
private static ConnectionPool mySelf;
private ConnectionPool(DataSource ds) {
this.ds = ds;
}
public static void init(DataSource ds) {
mySelf = new ConnectionPool(ds);
}
public static ConnectionPool getInstance() {
if (mySelf == null) {
throw new IllegalStateException("Pool not initialized.");
}
return mySelf;
}
public Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
二、DBInitServlet.java
package com.tonytan.db.util;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import java.sql.SQLException;
import java.sql.Connection;
import javax.sql.DataSource;
import org.apache.struts.util.GenericDataSource;
public class DBInitServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
GenericDataSource ds = new GenericDataSource();
ds.setDriverClass(getInitParameter("driverClass"));
ds.setUrl(getInitParameter("jdbcURL"));
ds.setMinCount(Integer.parseInt(getInitParameter("minCount")));
ds.setMaxCount(Integer.parseInt(getInitParameter("maxCount")));
ds.setAutoCommit(false);
ds.open();
ConnectionPool.init(ds);
} catch (SQLException e) {
e.printStackTrace();
throw new ServletException("Unable to open datasource.");
}
}
}
按道理DBInitServlet应该能访问ConnectionPool的呀,我哪方面做错了???
|
add "D:tomcatwebappsmytestWEB-INFclasses" into your CLASSPATH
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。