首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • jboss编译jsp或者servlet是否需要运行jdk的javac?我机器上只有jre启动jboss没问题,奇怪的是含有java程序的jsp,可以正常编译,在work目录下生成XX_jsp.java和XX_jsp.class??????????
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jinlongjolin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2007-10-12 01:05:26 楼主
    jboss编译jsp或者servlet是否需要运行jdk的javac?我机器上只有jre启动jboss没问题,奇怪的是含有java程序的jsp,可以正常编译,在work目录下生成XX_jsp.java和XX_jsp.class??????????
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mutoudianxian
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 12:24:091楼 得分:0
    JBOSS版本!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • worm_oz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 12:25:112楼 得分:0
    1. 你机器上找得到tools.jar吗?

    2. 在你机器上执行如下DOS命令:
    set JAVA_HOME
    是什么结果?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • LENUNI
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 13:58:413楼 得分:0
    执行结果是 环境变量 Java 没有定义呢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jinlongjolin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 15:28:274楼 得分:0
    JBOSS4.2.0GA,机器上没有tools.jar
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jinlongjolin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 15:31:405楼 得分:0
    机器确实没有tools.jar,set java_home 提示java_home没有定义
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cchaha
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 21:35:206楼 得分:0
    进来看答案
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jinlongjolin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-13 01:14:117楼 得分:0
    实在不知道了.......还是jboss在运行过程对jdk只是在某些编译时候用,而它对jsp有单独的编译工具
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiangbo520
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-14 12:55:268楼 得分:0
    jboss中的TOMCAT内置了一个Eclipse JDT编译器,它可以在不需要JDK,只要有JRE就可以编译JSP,但servlet就不行了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • worm_oz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-14 19:06:039楼 得分:0
    果然如此,可以参考相关的JavaDoc:

    http://tomcat.apache.org/tomcat-5.5-doc/jasper/docs/api/org/apache/jasper/compiler/Compiler.html

    http://tomcat.apache.org/tomcat-5.5-doc/jasper/docs/api/org/apache/jasper/compiler/JDTCompiler.html

    另外看JDTCompiler.java的源代码,可以发现是用org.eclipse.jdt.internal.compiler包来编译的
    http://www.docjar.com/html/api/org/apache/jasper/compiler/JDTCompiler.java.html

    感谢LS提供线索,又学到新知识了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • atomic_age
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-14 19:11:1810楼 得分:0
    JSP的编译过程是称将JSP编译成java代码。由jsp生成的java源代码和servlet的代码差不多,其实就是servlet。这和应用服务器无关,是由jsp编译器编译的,jsp编译器一般是由java代码写成,如果是tomcat,这个编译器在jasper.jar中。这一步是不需要javac的。但到了第二步,也就是要将jsp编译所生成的java源代码再编译成*.class文件。这就必须要javac了。因为只有javac可以将*.java编译成*.class。至于机器上没有javac。有可能是其他的目录中有或是系统直接调用的java编译的库(javac只是个壳,具体的功能全在dll中(如果是linux/unix就在*.so中))。

    如以编译jsp(jsp代码->java源代码)不需要javac,但要运行jsp(首先要java源代码->java的class文件),就必须要有*.class文件,因此,必须要使用java编译器,javac。 再查一下吧,硬盘上应该有类似的东西
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yilinhust
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-14 22:09:0011楼 得分:0
    LZ没装JDK?那还算Java程序员吗???
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • worm_oz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-15 08:45:5312楼 得分:0
    确实可以不用JDK的javac来编译,参考
    http://www.ibm.com/developerworks/websphere/techjournal/0702_col_johnson/0702_col_johnson.html

    对JSP的原理有详细介绍,其中The translation phase有如下说明
    3. Java source code compilation

    The JSP container compiles the .java file it has generated. Java compilation creates a binary class -- the JSP page implementation class -- which resides on disk as a .class file.* If there are Java compilation errors, then error messages are generated that identify the error, the JSP line number, and the equivalent .java source file line number where the error took place.

    WebSphere Application Server, like most JSP containers, supports the Eclipse Java Development Tools (JDT) compiler, as well as the JDK's javac. WebSphere Application Server started supporting the JDT compiler with Version 6.1. The JDT compiler is the default Java compiler for the JSP container because it operates very efficiently in an Open Services Gateway Initiative (OSGi) environment.

    也就是说只需要JDT compiler就能将.java编译成class文件了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • worm_oz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-15 09:10:3913楼 得分:0
    上面的文章有中文版
    http://www.ibm.com/developerworks/cn/websphere/techjournal/0702_col_johnson/0702_col_johnson.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JBossWeek
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-15 09:34:2914楼 得分:0
    缺省情况下,JBoss中jsp的编译过程如下:
    1、org.apache.jasper.compiler.Compiler负责从jsp生成java文件
    2、org.apache.jasper.compiler.JDTCompiler负责编译java生成class文件
    worm_oz提供的资料不错,抽个时间好好看看。

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • worm_oz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-15 13:29:4215楼 得分:0
    这段代码是用com.sun.tools.javac.Main来编译一个Java文件,需要JDK的tools.jar
    com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main();
    javac.compile(new String[] {"-classpath", "rt.jar", "A.java"});

    这段代码是用org.eclipse.jdt.internal.compiler.batch.Main编译同样的Java文件,需要jdtcore.jar或JBoss的jasper-jdt.jar,不需要JDK
    org.eclipse.jdt.internal.compiler.batch.Main.main(new String[] {"-classpath", "rt.jar", "A.java"});
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • YuLimin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-16 20:06:2816楼 得分:0
    好贴:)呵呵。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiyuan1999
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2007-10-23 22:14:5317楼 得分:0
    不用
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kobygao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-24 08:32:4618楼 得分:0
    不错,长见识了.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjf405
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-30 10:04:1319楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • javaokay
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-31 16:25:4020楼 得分:0
    长知识了,难怪前两天看同学机器上没jdk就个jre,但是在Eclipse里可以运行java文件,而Tomcat要指定jdk目录是我就奇怪的很,原来是这个org.eclipse.jdt.internal.compiler.batch.Main.main东东,我 说怎么他的机器是没javac却 可以把 .java文件编译成.class文件设,是这家伙的功劳啊,但是 Tomcat还是离不开jdk吧
    Tomcat为什么不也用这个org.eclipse.jdt.internal.compiler.batch.Main.main呢???
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fys249931556
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-03-14 23:31:5521楼 得分:0
    tomcat可以离开JDK。。但是离不开JRE
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • galaxyshen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-03-19 17:51:5222楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kgn28
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-03-21 12:24:0123楼 得分:0
    很显然呀,jsp是动态编译的,就是在web调
    用是编译成servlet的,所以肯定是要编译
    的,就是说要javac。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiarunsheng
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-03-30 22:14:4124楼 得分:0
    有所收获,thanks
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • knowledge_Is_Life
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-30 18:14:3525楼 得分:0
    有问题请先GOOGLE,BAIDU
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • meiZiNick
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-01 18:53:1126楼 得分:0
    支持搂主,收藏
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chenciitc
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-09 14:02:4827楼 得分:0
    高薪招聘高校计算机专业兼职教师
    北京思源培训中心(http://www.ciitc.com)专业做软件开发技术的培训;由于课程培训需要,长年高薪诚聘兼职讲师,欢迎计算机及相关专业的高校老师、研究生、博士生应聘   
    基本要求如下:
    l    本科以上学历,计算机或相关专业毕业。
    2    具有实际相关工作经验,从事过软件开发或系统管理工作。
    3    语言表达清楚、流畅、逻辑思维清晰,英语听说良好。
    4    诲人不倦,有高度的责任感、敬业精神和团队意识。
    5    注重仪表,具有随机应变的能力。
    6    具有一定的教学经验,从事过教学/培训业务者优先考虑。

    精通应聘职位的某一部分课程内容,如下述编程语言或系统的一种或几种:
    1.    编程语言:C++, VC++,VB.NET,C#, PowerBuilder, Delphi, Java,
      Matlab , C++Builder
    2.    数据库系统:SQL Server2000, SQL Server2005, Oracle,DB2,MySql
    3.    网站编程:Marcomedia, HTML, Altova XML Suite,ASP, JSP, J2EE, J2SE,
        PHP,ASP.NET,VB.NET, ColdFusion,ajax
    4.    操作系统:Unix, Linux,Linux环境下嵌入式开发技术,Sun Solaris,IBM AIX
    5.      办公软件:OFFICE(EXCEL、WORD、POWERPOINT)
    6.      多媒体制作:Authorware7.0  , Director MX 2004
    7.      图形动画类:Photoshop, Illustrator, CorelDRAW, FreeHand,
    Flash ActionScript高级编程,3DMAX,AutoCAD2007 ,Maya
    具有下述任何一种或几种国际IT认证证书者优先考虑:
    1.    微软认证证书MCP / MCSA / MCSE / MCDBA / MCSD
    2.    SUN Java认证证书
    3.    Oracle认证证书
    4.    Macromedia认证证书
    5.    Linux认证证书
    6.    CIW (Certified Internet Webmaster) Associate/Professional/Master认证证书

    有意者请把简历发到如下地址:abc@ciitc.com  QQ:174629429  MSN:bjcosun@hotmail.com
    http://www.ciitc.com
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved