tomcat 提示No Java compiler was found错误,困惑N久(解决马上给分)

hfree 2004-04-15 07:45:39
no java complier was found to compile the generated source for the JSP.
This can usually be solved by copying manually $JAVA_HOME/lib/tools.jar from the JDK to the common/lib directory of the Tomcat server, followed by a Tomcat restart. If using an alternate Java compiler, please check its installation and access path.错误

请大虾指点.
在tomcat 的common/lib下已经有tools.jar啦.
该错误发生在打开start.jsp中.start.jsp中用到一个位于classes目录下的mybean.taskbean.TaskBean的javaBean.但是只要在一开头
<%@ page import="mybean.taskbean.TaskBean"%>就会出错.
也就是TaskBean不能用.

请大虾指点,急!
...全文
317 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
windgoogle 2004-04-15
  • 打赏
  • 举报
回复
我是说你好象少个"}"
hfree 2004-04-15
  • 打赏
  • 举报
回复
这是bean里面的一个函数,bean用于在一个新线程计算一段算术,status.jsp显示其进度.
isRunning就是判断线程是否开始计算


package mybean.taskbean ;

import java.io.Serializable;
import java.lang.Thread ;


public class TaskBean implements Runnable, Serializable {
private int counter;
private int sum;
private boolean started;
private boolean running;
private int sleep;



public TaskBean() {
counter = 50;
sum = 0;
started = false;
running = false;
sleep = 1000;
}

protected void work() {
try {
Thread.sleep(sleep);
counter++;
sum += counter;
}
catch (InterruptedException e) {
setRunning(false);
}
}

public synchronized int getPercent() {
return counter;
}

public synchronized boolean isStarted() {
return started;
}

public synchronized boolean isCompleted() {
return counter == 100;
}

public synchronized boolean isRunning() {
return running;
}

public synchronized void setRunning(boolean running) {
this.running = running;
if (running)
started = true;
}

public synchronized Object getResult() {
if (isCompleted())
return new Integer(sum);
else
return null;
}//干得好

public void run() {
try {
setRunning(true);
while (isRunning() && !isCompleted())
work();
} finally {
setRunning(false);
}
}

}
windgoogle 2004-04-15
  • 打赏
  • 举报
回复
<% if(task.isRuning()) { %>这个{相对应的}在哪儿
windgoogle 2004-04-15
  • 打赏
  • 举报
回复
我看了半天,也没看见javascript的代码啊
hfree 2004-04-15
  • 打赏
  • 举报
回复
<!--status.jsp-->

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!--%@ page import="mybean.taskbean.TaskBean" %-->
<!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=gb2312">
<title>status</title>
<jsp:useBean id="task" scope="session" class="mybean.taskbean.TaskBean"/>

<!-------------------------------这一段脚本没有错吧?------------------------->
<% if(task.isRuning()) { %>
<SCRIPT LANGUAGE="JavaScript">
setTimeout("location.reload()",1000) ;
</SCRIPT>
<!---------------------------把上面脚这一段去掉就OK-------------------------->

</head>

<body>

<%
if(task != null)
out.println("有个东西不为0") ;
%>

<H1 ALIGN="CENTER">JSP进度条</H1>
<H2 ALIGN="CENTER">
结果: <%= task.getResult() %><BR>
<% int percent = task.getPercent(); %>
<%= percent %>%
</H2>



<TABLE WIDTH="60%" ALIGN="CENTER"
BORDER=1 CELLPADDING=0 CELLSPACING=2>
<TR>
<% for (int i = 10; i <= percent; i += 10) { %>
<TD WIDTH="10%" BGCOLOR="#000080"> </TD>
<% } %>
<% for (int i = 100; i > percent; i -= 10) { %>
<TD WIDTH="10%"> </TD>
<% } %>
</TR>
</TABLE>

<!--======================================================-->

<TABLE WIDTH="100%" BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD ALIGN="CENTER">
<% if (task.isRunning()) { %>
正在执行
<% } else { %>
<% if (task.isCompleted()) { %>
完成
<% } else if (!task.isStarted()) { %>
尚未开始
<% } else { %>
已停止
<% } %>
<% } %>
</TD>
</TR>

<TR>
<TD ALIGN="CENTER">
<BR>
<% if (task.isRunning()) { %>
<FORM METHOD="GET" ACTION="stop.jsp">
<INPUT TYPE="SUBMIT" VALUE="停止">
</FORM>
<% } else { %>
<FORM METHOD="GET" ACTION="start.jsp">
<INPUT TYPE="SUBMIT" VALUE="开始">
</FORM>
<% } %>
</TD>
</TR>
</TABLE>

</body>
</html>
hfree 2004-04-15
  • 打赏
  • 举报
回复
<!--start.jsp-->


<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.lang.Thread"%>
<%@ page import="mybean.taskbean.TaskBean"%>
<!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=gb2312">
<title>start</title>
</head>
<body>
<%session.removeAttribute("task") ;%>
<jsp:useBean id="task" class="mybean.taskbean.TaskBean"/>
<%
if(task!= null)
out.println("Hello World"+"<br>") ;
%>
<%
task.setRunning(true);
out.println("Thread is Running"+"<br>") ;
%>

<%
new Thread(task).start();
out.println("Task Starting"+"<br>") ;
%>
<jsp:forward page="status.jsp"/>
<!--该文件没有问题,问题应该在status.jsp中-->
</body>
</html>


windgoogle 2004-04-15
  • 打赏
  • 举报
回复
javascript是客户端脚本,是流览器支持的,tomcat不做转换,原样返回客户端
windgoogle 2004-04-15
  • 打赏
  • 举报
回复
不是吧,tomcat肯定支持javascipt啊,是你的代码有问题吧,贴出来看看
hfree 2004-04-15
  • 打赏
  • 举报
回复
问题归结于一点.请问Tomcat支持javascript吗/?
start.jsp中有javascript脚本.我去掉之后就可以正常啦.

也就是说和path无关

windgoogle 2004-04-15
  • 打赏
  • 举报
回复
顺便问一下,path中为什么要设置.;去掉试试看
windgoogle 2004-04-15
  • 打赏
  • 举报
回复
to hfree()
我以前碰到过你的情况,记得当时是因为path中多了%SystemRoot%\system32;%SystemRoot%;几项,删除后只剩下jdk的设置就ok啦,但我现在的系统中有这些也正常,我不知道是什么原因,帮不上忙,抱歉!
hfree 2004-04-15
  • 打赏
  • 举报
回复
to sunwindouou(sunwindouou) ( ):

请看清楚问题再发言,OK/?
windgoogle 2004-04-15
  • 打赏
  • 举报
回复
sunwindouou(sunwindouou) ( ) 你试过行吗???
sunwindouou 2004-04-15
  • 打赏
  • 举报
回复
你不懂英文吗?它不是说得很清楚了吗?
This can usually be solved by copying manually $JAVA_HOME/lib/tools.jar from the JDK to the common/lib directory of the Tomcat server, followed by a Tomcat restart.
我帮你翻译一下吧:
把JDK安装目录下的lib文件夹下的tools.jar文件复制到Tomcat安装目录的文件夹common/lib下,然后重新启动tomcat就行了阿
hfree 2004-04-15
  • 打赏
  • 举报
回复
why??

问题依旧
yupingping 2004-04-15
  • 打赏
  • 举报
回复
我是小鱼
windgoogle 2004-04-15
  • 打赏
  • 举报
回复
把jsp_api.jar没设置吧,我是把servlet-api.jar和jsp-api.jar拷入%JAVA_HOME%/jre/lib/ext下
hfree 2004-04-15
  • 打赏
  • 举报
回复
在CMD用javac,java均可以编译,执行.java程序.
hfree 2004-04-15
  • 打赏
  • 举报
回复
PATH=.;E:\J2SDK142\bin
windgoogle 2004-04-15
  • 打赏
  • 举报
回复
我想看看你path怎么设置的
加载更多回复(4)

81,094

社区成员

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

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