关于自己编写类导出JAR包裹不能使用的问题
我初学,有些基本的概念理解不了。比如java package打包的问题,最近很受困扰。
我先说下我的思路,先写一个第三方库,导出到Jar,类似于编写的JAVA连接MYSQL那样的库能够被JSP调用(这个词也不知道合适不),index.jsp 引入package,但总会提示找不到包。我的包已经放在了Tomcat/common/lib下,引入第三方库的时候没有问题,但是自己写的就有问题。
1.这个是package dbPool/dbPool.class,用ECLIPSE 导出JAR后,没有选择入口类(不知道是不是这个受到了影响)
package dbPool;
public class dbPool {
public void test() {
System.out.print("this is datapool");
}
}
<%@page contentType="text/html; charset=GBK"%>
<%@page import="java.util.*" %>
<%@page import="dbPool.dbPool" %>
<%
out.print("Today is "+new java.util.Date());
dbPool tmp = new dbPool();
tmp.test();
%>
org.apache.jasper.JasperException: Unable to compile class for JSP
Generated servlet error:
C:\WATMServer\Tomcat5\work\Catalina\localhost\_\org\apache\jsp\index_jsp.java:9: package dbPool does not exist
import dbPool.*;
^
An error occurred at line: 7 in the jsp file: /index.jsp
Generated servlet error:
C:\WATMServer\Tomcat5\work\Catalina\localhost\_\org\apache\jsp\index_jsp.java:55: cannot find symbol
symbol : class dbPool
location: class org.apache.jsp.index_jsp
dbPool tmp = new dbPool();
^
An error occurred at line: 7 in the jsp file: /index.jsp
Generated servlet error:
C:\WATMServer\Tomcat5\work\Catalina\localhost\_\org\apache\jsp\index_jsp.java:55: cannot find symbol
symbol : class dbPool
location: class org.apache.jsp.index_jsp
dbPool tmp = new dbPool();
^
3 errors
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
应该这么写:
jar cvf hello.jar