不太明白你说的东西,你现在的目的是什么?想要使用那个sdk中的东西,但使用出错?你为什么要测servlet,你是怎么测的发现不行?说清楚些

解决方案 »

  1.   

    那个sdk的功能是提供了一些确定手机位置、状态等信息的api,并且还包括了一个simulator,在一般情况下(非servlet),我只要编写好java application,用那个sdk提供的编译器(实际上最终还是调用java编译器)编译运行就可以。但是现在我想建立一个servlet,这样可以远程请求位置信息,让simulator作出应答。我用的server是tomcat,我在把所有那个sdk要调用的jar包都考到了tomcat的lib目录下后,发现servlet还是不能正常工作,通过设置console输出,我发现是在调用那个sdk的api时候出错,但是servlet中这段程序是我从原来调试好的普通application考过来的,不会有问题,所以问题只可能是目前classpath还没有设对,但是我又不知道哪没设对?
      

  2.   

    要设置classpath呀?
    你的tomcat里肯定有吧.我没用过,不知道怎么设置的...
    也可以在系统变量里设置.把要用的都设置到classpath里...
      

  3.   

    这里不存在设置路径的问题,但存在一个环境变量设置的问题.如果你的tomcat没有问题,那么,
    如果你是在jbuilder下开发,看一下,把应用整合到servlet中时,编译能不能通过.
    在可以通过的情况下,看一下直接运行你的那个应用程序时,是不是要用到些什么参数.你那里报的是什么错误,可不可以贴出来看一下
      

  4.   

    我仔细看了一下,在那个sdk所带的编译器(其实就是一个批处理文件)中,的确在最后运行java的时候加入了一些参数:
    cd $ISGSDKROOTORB_PROPS=-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton${JAVA_HOME}/bin/java -Duser.home=${ISGSDKROOT} ${ORB_PROPS} $*而现在报的错就是frameworkadapter initialization failure (error reading properities files),根据文档说明,引起这个错误的原因是classpath下jar文件不全,但是的的确确classpath下jar文件是全的,我怀疑可能和缺少上述参数有关。可怎么在tomcat中加入上述参数呢
      

  5.   

    有个问题: 将.jar复制到lib目录不行吧, 是不是要将.jar加到classpath里?如: classpath=.:file1.jar:file2.jar
      

  6.   

    只有在编译你的.java类时要加,发布后不要加.
    tomcat会自动在lib及classes目录中找你的类.另外你的这个程序运行时,须要一些起动参数:
    -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
    你找到启动tomcat的bat文件bin/catalina.bat,在有%_EXECJAVA% 语句的后面加上上面的参数.当然这有点麻烦.
    你也可以在你的调应用的servlet中,在调应用之前用:
    System.setProperty("org.omg.CORBA.ORBClass","org.jacorb.orb.ORB");
    System.setProperty("org.omg.CORBA.ORBSingletonClass","org.jacorb.orb.ORBSingleton");
    注意,一定要在应用执行前!
      

  7.   

    set ORB_PROPS=-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
    if not "%OS%" == "Windows_NT" goto noTitle
    set _STARTJAVA=start "Catalina" "%JAVA_HOME%\bin\java"
    set _RUNJAVA="%JAVA_HOME%\bin\java"
    goto gotTitle
    :noTitle
    set _STARTJAVA=start "%JAVA_HOME%\bin\java"
    set _RUNJAVA="%JAVA_HOME%\bin\java"
    :gotTitlerem ----- Execute The Requested Command ---------------------------------------if "%1" == "env" goto doEnv
    if "%1" == "run" goto doRun
    if "%1" == "start" goto doStart
    if "%1" == "stop" goto doStop:doUsage
    echo Usage:  catalina ( env | run | start | stop )
    echo Commands:
    echo   env -   Set up environment variables that Catalina would use
    echo   run -   Start Catalina in the current window
    echo   start - Start Catalina in a separate window
    echo   stop -  Stop Catalina
    goto cleanup:doEnv
    goto finish:doRun
    if "%2" == "-security" goto doRunSecure
    %_RUNJAVA% %CATALINA_OPTS% -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 %7 %8 %9 start
    goto cleanup
    :doRunSecure
    %_RUNJAVA% %CATALINA_OPTS% -Djava.security.manager -Djava.security.policy=="%CATALINA_HOME%/conf/catalina.policy" -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Bootstrap %3 %4 %5 %6 %7 %8 %9 start
    goto cleanup:doStart
    if "%2" == "-security" goto doStartSecure
    rem "%JAVA_HOME%\bin\java.exe" -Duser.home="%ISG_SDK%" %ORB_PROPS% %1 %2 %3 %4 %5 %6 %7 %8 %9
    %_STARTJAVA% %CATALINA_OPTS% -Duser.home="%ISG_SDK%" %ORB_PROPS% -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 %7 %8 %9 start
    goto cleanup
    :doStartSecure
    echo Using Security Manager
    %_STARTJAVA% %CATALINA_OPTS% -Djava.security.manager -Djava.security.policy=="%CATALINA_HOME%/conf/catalina.policy" -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Bootstrap %3 %4 %5 %6 %7 %8 %9 start
    goto cleanup:doStop
    %_RUNJAVA% %CATALINA_OPTS% -Dcatalina.home=%CATALINA_HOME% org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 %7 %8 %9 stop
    goto cleanup这是我在catalina.bat中编辑的一段,其中我把关于orb的那一段加在了最上面,另外在加后缀执行参数的时候,我拿不准应该放到哪,现在放在了最下面 do start:那个label下面
    我不清楚是否应该这么添加参数。在原sdk中结尾命令行是这样的:
    "%JAVA_HOME%\bin\java.exe" -Duser.home="%ISGSDKROOT%" %ORB_PROPS% %1 %2 %3 %4 %5 %6 %7 %8 %9
    而原来do start下紧接着的命令行是:
    %_STARTJAVA% %CATALINA_OPTS% -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 %7 %8 %9 start我那样加对嘛?反正我现在加完后是什么变化都没有,另外我也试过在程序中动态设定参数,但还是一样的结果
      

  8.   

    配置:
    classPath
    web.xml
      

  9.   

    :(
    我也不知道为什么了.
    要不你把你的代码发给我看一下,如果方便的话.
    [email protected]
      

  10.   

    现在的问题变化了,我发现最关键的地方是在原来那个sdk的运行批处理文件中最好要进入那个sdk的安装目录,这样做是因为其中的api会搜索一些有用的log信息。而我在把同样的指令加入tomcat中,却发现tomcat不能正常工作了,因为tomcat同样需要在自己的目录下工作
    这个问题怎么解决呢?