- PR -

JSP

投稿者投稿内容
TH
会議室デビュー日: 2004/08/19
投稿数: 9
投稿日時: 2004-08-19 03:15
ご教授ください。
日本製のPCで作成したJavaプログラムをアメリカ製のPC環境で実行しようとしたところ、jspの画面上で『Unable to compile class for jsp』のエラーが発生して困っています。設定ファイル(web.xml,server.xml)の設定は日本製のPCで作成した物を全角の空白が無いように全てチェックし、デプロイしました。
一つ気になった点がありまして、JSPのヘッダー部で
<%@ page contentType="text/html; charset=SJIS" pageEncoding="SJIS"%>
の"SJIS"が妙に気になったので削除したりしたのですが、状況変わらずです。
また直接JSPをキックしても同様の状況になってしまいます。
ご指導宜しくお願いします



--------日本製のPC環境-------------
Tomcatバージョン Apache Tomcat/5.0.27
JVMバージョン 1.4.2-b28
OS名 WinXp
--------アメリカ製のPC環境-------------
Tomcatバージョン Apache Tomcat/5.0.27
JVMバージョン 1.4.2_05-b04
OS名 Win2000



PS ちなみにJVMの上位互換機能ってあるのでしょうか?

せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2004-08-19 05:10
引用:

THさんの書き込み (2004-08-19 03:15) より:
ご教授ください。
日本製のPCで作成したJavaプログラムをアメリカ製のPC環境で実行しようとしたところ、jspの画面上で『Unable to compile class for jsp』のエラーが発生して困っています。



Unable to compile class for jsp

これの詳細は?
Tomcat のログには何も書き出されないのでしょうか?
TH
会議室デビュー日: 2004/08/19
投稿数: 9
投稿日時: 2004-08-19 05:31
〜〜〜〜〜〜〜〜〜〜〜〜〜〜下記TOMCATのログ 〜〜〜〜〜〜〜
2004-08-18 13:25:38 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)

〜〜〜〜〜〜〜〜〜〜〜〜〜〜下記JSP(画面上)に表示されたログ 〜〜〜〜〜〜〜
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
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)


root cause

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
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)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.


------------------------------------------------------------------------------
長くてすいません。
少しでも手がかりになればと思いまして・・・。



Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2004-08-19 07:08
THさん、こんにちは。

メッセージに
Perhaps JAVA_HOME does not point to the JDK
とあるようですから、確認されてはいかがでしょうか?

あと、まさかですが、インストールしたのが SDKではなくて
JREということはないでしょうね。
TH
会議室デビュー日: 2004/08/19
投稿数: 9
投稿日時: 2004-08-19 07:23
すいません、恥ずかしいのを承知で教えてください。
Perhaps JAVA_HOME does not point to the JDK
とは『Javaを使用するためのクラスパスが見えない』と言ってるのでしょうか?
だとすると
C:\j2sdk1.4.2\bin
でパスは通しているのですが・・・?
(アメリカ製のPCでも同様の設定を行っています。)
後、SDKをインストールしています・・・。
すいません、宜しくお願い致します。
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2004-08-19 07:36
JAVA_HOMEには、binを含めず、C:\j2sdk1.4.2までを設定
してください。
TH
会議室デビュー日: 2004/08/19
投稿数: 9
投稿日時: 2004-08-19 07:45
Kissinger様

やってみましたが、同様の結果になってしまいました。
試行錯誤しながらやっておるのですが・・・。
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2004-08-19 09:46
DOSプロンプトから、

dir %JAVA_HOME%\bin

を実行したときに、javac.exeは存在して
いますか?

スキルアップ/キャリアアップ(JOB@IT)