项目
上有感叹号或者差号
一、感叹号的去除
myeclipse新建 web工程, 在工程目录下会生成一个 .classpath 配置文件, 里面是你工程里面引用的jar的配置。这个.classpath 对你的web工程没有什么影响 ,其实是给 myeclipse 识别的。 你说的这种情况是因为 .classpath 文件里面 配置引用了某个jar,但是实际上你的 lib 里面并没有这个jar 所以才会有红色的提示。 你不用拿.classpath文件和你的jar一个个去找, 你现在打开MyEclipse ,右键单击你的web工程,找到 Build Path > Configure Build Paht... > 然后上面有几个选项卡找到 Libraries。 这里看到的就是你工程里面引用的 所有的 jar , 看看是不是在某个jar图标上有个很小的黄色的感叹号, 如果有的话就没错了, 先选中这个jar, 点击右边的 Remove > 点击OK 等待几秒, 现在web工程上面的红色XX是不是没有了。 解释一下: 黄色的感叹号的jar,
示.classpath配置文件引用了jar, 但是实际上lib里面没有这个jar。
右键工程 > Build Path > Configure Build Paht... > ... > Libraries >选中红叉的Remove
二、红叉的去除
当在项目中项目里面的文件没有错误,而在项目名上有红叉,这时候查看classpath文件,看指定的路径中有没有对应的包,若没有则加上,吧没用的路径删除了,这样红叉即可消失,项目可以运行 了
第一想法就是build path的问题,右键项目Properties,Java Build Path 看看里面jar包或者引入的其它工程的路径是否正确。 果然提示:Build path entry is missing: org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_26 确定是buildpath出了错无疑, 又找到JRE System Libreary[jre1.6.0_26](unbound)的提示,右键单击 JRE System Libreary[jre1.6.0_26](unbound)
选择build path--->configure build path然后添加jre system libreary。刷新 一切ok
有几种可能:
1,编码设置是否一致,也即是你项目原来的编码和现在eclipse用的默认编码是否一致
2,导入项目中jar路径可能已经被改变,多数情况下都是这个原因造成,我也曾经遇见过,你要确保你的jar包路径都没问题。myeclipse有查看jar路径的视图你可切换看看,报红X的就都是路径被改动过的,重新加进来就OK。 3,在problem控制台里有如下错误提示:Java compiler level does not match the version of the installed Java project facet。这种情况一般可以在项目上右键-->properties-->然后找到project facets和 Java Compiler两个选项,
修改其使用的jdk版本即可。如果没有找到project facets选项,可以参考下面的方法:
当你安装了两个版本的JDK,用了两个IDE开发工具,比如两个myeclipse,Myeclipse8.5和Myeclipse9.0。
这时候涉及到了jdk版本的问题,而在Myeclipse中设置是比较隐藏的。 Eclipse下有个项目报如上错误,这个是因为Facted Project 中的Java 版本设定与项目的Java 版本设定不一致。而如果使用的是MyEclipse的话,这个配置修改起来就不是很方便,具体方法稍后再说。如果是eclipse jee版本,则使用javaee插件是wtp,在wtp环境在,在当前项目上点右键,属性--Project Facets中,配置编译版本与java compiler的版本一致,问题即解决了。 MyEclipse中没有Project Facets配置选项,则需要到当前项目的.settings文件夹下,找到org.eclipse.wst.common.project.facet.core.xml文件,其内容如下:
installed facet="jst.web" version="2.5"/> <
其中
这行就是faceted project的编译级别配置。
这行配置在某些情况下也需要修改,比如在MyEclipse中建了个web项目,后来又导入到eclipse jee,有时候就需要修改这个配置。
保存配置后,刷新并build项目后,问题解决。
三、jsp出现红叉
jsp语言结构不严谨,重新编译
综合以上的出现红色差号和感叹号的例子
如下: 第一:jdk不符合,如果项目中使用过过高版本的jdk那么你需要切换工程的jdk 第二:没有必要的jar包,比如项目中用到了struts等框架,项目在打包时,jar包没有一起打包,那么你引入工程的时候缺少包,添加就行了 第三:jsp页面使用了标签库,比如struts标签再使用,但是你的项目里面没有struts的包,会出错
第四:项目里面使用了而外自定义的jar包,导致myeclipse在自检的时候,找不到路径下的文件,致使程序报错.解决
:在项目路径下,
找到.classpath文件,对比引入的包,更新引用路径。
笔者遇到的是第四种情况,如果有同样经历的读者,可参考。当时出错的背景情况是:
1. 项目正常(此项目已经正常调试1个月),其中引入了一个叫bouncycastle的包。
2. 别的同事给了我一个最新的包,我另存为起名字叫bouncycastle_ytj.
3. 我把旧的bouncycastle的包remove掉,再引入新的bouncycastle_ytj.此时无异常
4. 过了一会,本人觉得bouncycastle_ytj这样子叫,感觉不专业,于是自己在G:/开发包/DownJars/路径下对文件名字作出修改,把原来的
bouncycastle==》bouncycastle_old ;bouncycastle_ytj==>bouncycastle 。项目出现异常。
5. 更改项目文件中的“.classpath”文件,发现有两个配置路径
6. 经过分析,可知项目打叉的原因是:找不到bouncycastle_ytj.jar这个文件,因为我把他改名了。但是“.classpath”文件
没有实时更新。因此需要手动更改,改为(把第二个删掉,保留第一个,请读者根据实际情况修改),并保存
7.问题解决。红叉消失。