web项目有叹号且myeclipse不可自动编译

用myeclipse从SVN上down下web项目,类文件不能自动编译,各种办法各种痛苦上网搜索资料都没有解决,无耐加痛苦之中在反其道而行在build path中把jar包全部remove,结果奇迹出现,项目居然可以自动编译了。

痛定私痛解决问题原理最重要,web项目上出现叹号基本都是因为项目上jar引用错误导致的,而引用jar包主要是项目的“.classpath”来控制的。

.classpath引用jar主要有两种方式:

 一种是单个引用 如:<classpathentry kind="lib" path="WebCrm/WEB-INF/lib/icu4j.jar"/>

另一种则是整体引用,通过引用lib文件夹来引用的,如:

<classpathentry kind="con" path="com.genuitec.runtime.library/com.genuitec.jstl_1.2">
<attributes>
<attribute name="owner.project.facets" value="jst.web.jstl"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>

如果重复引用就会导致项目上有叹号,类文件不能自动执行编译,所以svn上down下项目不能急于build path处理jar包,要先看.classpath中有没有已经整体引用.jar包了。


网上总结的web项目不能编译类文件常用解决方法(网上直接拿来的):


   1.重新导入的项目结构与原来的不同   src包等等都和原来的不同,打开项目主目录,中有个.classpath文件,用记事本打开会发现有一行,估计它的意思就是说你的源文件位置,看看有没有这一行,没有一定要补上,下面就是一些jar包的导入路径,如:   //这两行也应该是MyEclipse自动生成的,JAVA运行环境 \J2EE1.4         //导入的JAR包位置      2.刷新项目不自动编译,将WEB-INF下面的classes文件夹中的字节码文件删除后不再重新生成   遇到此问题要检查是否有这一行      这是指定将字节码文件输出到哪,如果没指定当然不会默认给你找个地方存了。   3.以上两个步骤都做完了,但项目依旧跑不起来   这个时候你要用到MyEclipse的项目清理功能,在菜单栏里的project里有个clean,它会强制清除那些配置文件,重新生成就会正确了。   项目跑起来了,要记得做个笔记,以后遇到问题了有个参照!肯能解释的并不正确,但问题确实解决了!   以上摘自:http://hi.baidu.com/icewee/blog/item/60ce691f3fc31 6f21bd57688.html  

 网上还有就是说:   1:点击project->clean清除部署文件   2:检查project properties->java buildpath->default output folder将其设置为 XXX/WEB-INF/classes   3:禁止将SVN信息编译到classes文件夹的方法   project->Properties -> Java BuildPath -> Source 展开里面的项目   选中Excluded,点击 Edit 按钮   在 Exclusion patterns 中点击 Add 按钮   输入 **/.svn/** 保存即可   我出现问题的原因跟上面有关因为我也是用的SVN。   我是这样解决的:将工程文件下的.setting文件夹和.classpath 和.project文件删了,然后再myeclipse中新建的Java project,这样就好了。不过需要注意的是如果你不先删掉这几个文件就新建(从已存在的工程),那么它引用的还是原来的。所以必须先删除他们。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值