无法为JSP编译类,无法解析导入

时间:2015-05-13 13:33:41

标签: java eclipse facebook jsp

我会在这个论坛上发布我的第一个问题,所以请善待=)

我的问题是我的jsp文件导入无法解析:

<%@ page import="java.util.List" %>
<%@ page import="com.javapapers.java.social.facebook.FBConnection" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  pageEncoding="ISO-8859-1"%>
<%
FBConnection fbConnection = new FBConnection();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Java Facebook Login</title>
</head>
<body style="text-align: center; margin: 0 auto;">
<div
    style="margin: 0 auto; background-image: url(./img/fbloginbckgrnd.jpg); height: 360px; width: 610px;">
    <a href="<%=fbConnection.getFBAuthUrl()%>"><img
        style="margin-top: 138px;" src="./img/facebookloginbutton.png" />
    </a>
</div>
</body>
</html>

我从一天开始就抓住了这个论坛,我已经完成了所有的话,我没有找到解决问题的方法......

这是错误:

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: [15] in the generated java file: [C:\Users\Matthieu\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\Facebook_Login\org\apache\jsp\index_jsp.java]
The import com.javapapers.java.social.facebook.FBConnection cannot be resolved

An error occurred at line: 6 in the jsp file: /index.jsp
FBConnection cannot be resolved to a type
3: <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
4:  pageEncoding="ISO-8859-1"%>
5: <%
6:  FBConnection fbConnection = new FBConnection();
7: %>
8: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
9: <html>


An error occurred at line: 6 in the jsp file: /index.jsp
FBConnection cannot be resolved to a type
3: <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
4:  pageEncoding="ISO-8859-1"%>
5: <%
6:  FBConnection fbConnection = new FBConnection();
7: %>
8: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"         "http://www.w3.org/TR/html4/loose.dtd">
9: <html>


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
             org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:198)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

我按照推荐的方式将我的课程放在WEB-INF /课程上(尊重包名:com / javapapers / java / social / facebook)

我正在使用TomCat 8.0服务器处理Eclipse Luna

部署程序集: Deployement Assembly

Librairies: Librairies

资料来源: 测试/ SRC

但错误仍然存​​在

请帮助我

由于

4 个答案:

答案 0 :(得分:1)

如上所述,请确保.jar文件位于类路径中。

第二个选项是您的部署与您想要的不符。

检查部署程序集的Eclipse配置:

  • 右键点击您的项目
  • 选择部署程序集

如果您正在进行外部部署(而不是工作区资源),请检查部署中的资源。

答案 1 :(得分:0)

您必须在src中使用相同的包名创建以下类。

FBConnection.java FBGraph.java MainMenu.java

或者您可以从link下载并在编译后放入类路径。 确保在FBConnection类中相应地更改了FB_APP_ID,FB_APP_SECRET,REDIRECT_URI值。

答案 2 :(得分:0)

假设FBConnection来自标准JAR文件,那么在编译JSP时,需要确保JAR文件位于JSP编译器的类路径中。

如果要通过WAR文件进行部署,则库JAR需要位于WAR文件中。如果使用Eclipse的Tomcat集成进行部署,那么JAR需要是Eclipse项目的依赖项。

有关如何执行此操作的详细信息:Adding 3rd party jars to WEB-INF/lib automatically using Eclipse/Tomcat

答案 3 :(得分:0)

您需要使用正确的App Id和App密钥。在此处参考项目http://javapapers.com/java/java-facebook-login-with-oauth-authentication/,导入并更改FBConnection()类中的FB_APP_ID和FB_APP_SECRET。适合我。