中易网

为什么class文件会自动编译到web-inf下

答案:4  悬赏:0  
解决时间 2021-04-27 14:54
为什么class文件会自动编译到web-inf下
最佳答案
JavaEE 服务实现商 定义Web项目结构中WEB-INF/classes为存放虚拟机加载类的入口点,这个叫做约定,现在已经被所有JavaEE服务商所采纳,这是规则,同时你所使用的工具需要实现这个过程的自动化,所以就这样了。你可以修改工具生成classes的目录,谁说不能?
全部回答
这个是tomcat的软件开发人员制定的规则。 让tomcat在web-inf的classes目录下找到这些编译文件运行。 如果你是制作者。你也可以放到meta-inf的目录下。只要改下代码让其到这个目录找到class文件运行即可。。 如果你还这么好奇。那去看看tomcat的源代码吧。
j2ee规范要求,class必须放在WEB-INF\classes(注意大小写)目录下,而所有WEB中间件(Java的)都遵循此规范,所以都在放在它下面。 而自动编译到它下面,是因为编译设置决定的,eclipse默认其实是bin下,设置可以看.classpath文件,其中有指定源代码目录和类输出目录。
1. 确保 project->build automatically 已经被选上. 2. 如果选上了,也不好使, 使用这一招: project->clean..->选第2个clean select project, 勾上start build immediatelly 3.删除现在的项目,提前设置好编译文件输出路径,重新导入源文件,设置eclipse为保存时编译,然后在保存的时候就可以自动编译了 4.如果项目里引了某个不用的jar包,而那个包又被你删了,就会出现不报错但怎么也编译不出来class文件的情况,可以把所有包都删除,然后一个一个的再引入(需要的),不要一下子把所有包都引入来,没用的可能会引起不良后果. 5. 想删掉某个class文件重新生成,删除class文件后,但classes目录下的文件夹被其它程序打开,比如total commander。此时编译也不会通过,在problems下可能会提示“con't delete classes ……”。关掉其它程序重新编译即可。 6.还有种情况是remove掉 jre system library,重新导入即可编译。但是什么原因导致的还不清楚。 7.把build path中所有包都remove掉。然后又add jars,add libraries把需要的加进去,居然又开始编译了。 8.project->properties->java build path->source->.../web-inf/src的output folder不要默认,编辑让它指向../web-inf/classes 然后重新点击build工程即可自动编译。 个人使用此解决问题 9.再就是最重要的要看工程下面是否缺少了work目录,由于cvs控制时不把work加如版本,所以checkout后没有这个目录,要手工加上有的工程就能自动编译了.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
最近有什么新的动漫吗?
跪求s60第三版的自动开关机软件!!!
人真的可以抛弃七情六欲,现在还能找到古代那
人心真的深不可测,到底在想些什么?
英雄岛图标点亮自动会灭吗?
我想买诺基亚n85行货,害怕买到翻新机,苏宁
火箭今年的阵容能打进季后赛吗
看似矛盾的词语表现更丰富的情感。仿写一句在
我的背部和腰部都出现疼痛,请教一下?
我对她真的很小心眼。吃醋特厉害。能怎么让我
爱情跟友情只能择其一,该怎么选?
dnf悬空图怎么开?(高手进来,我这个比较复杂
李清照的词为什么那么凄凉呀?
四角恋怎么办?
誰有多餘的魔獸世界帳號?
推荐资讯
19888农历4月初8是什么星座
有什么好听的歌能让人心情好点!!
请问有办婚庆公司经验的各位哥哥姐姐!我想办
莫小宝背景音乐
qq上的好友印象怎么自动消失了?我以前很多都
兔子和乌龟赛跑为什么乌龟会嬴呢?
当特警好吗?
新派川菜有哪些优点
tsc 342 条码打印机 怎么设置成打印3列~~~
中国哪家保险公司最有实力
索爱哪款手机比较好用
外科或者妇科医生请看看这个肿块问题
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?