当前位置: 代码迷 >> Web前端 >> MyEclipse6.0编译后的种无法自动发不到WebRoot/WEB-INF/classes文件夹下(转)
  详细解决方案

MyEclipse6.0编译后的种无法自动发不到WebRoot/WEB-INF/classes文件夹下(转)

热度:526   发布时间:2013-03-26 09:54:34.0
MyEclipse6.0编译后的类无法自动发不到WebRoot/WEB-INF/classes文件夹下(转)
MyEclipse6.0编译后的类无法自动发不到WebRoot/WEB-INF/classes文件夹下(转)
今天,碰到个怪事,在myeclipse中新建一个项目之后,结果保存之后,再查看WEB-INF/classes/,竟然里面是空的,而output路径也设的好好的啊,怪了,于是google了一下,发现有此问题的人还不少,其中有一位总结的比较详细,具体如下:

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后没有这个目录,要手工加上有的工程就能自动编译了

以上9条转自(http://www.diybl.com/course/4_webprogram/jsp/jsp_js/20090304/157796.html)

虽然总结的很好,然而我试过之后,发现还是不能解决我的问题,最后才发现原来是系统时间的问题,把时间调整过来就ok了。。。

MyEclipse无法自动编译的解决方法
关键字: myeclipse无法自动编译的解决方法

今 天通过SVN版本控制工具从服务器上更新了项目,选择的全部更新,因为开发工具都是用的MyEclipse,所以将一些MyEclipse的配置文件也从 服务器上下了下来,覆盖了本地的配置文件。导致无法自动编译,MyEclipse不识别该项目,删除重新导入项目依旧无效。弄了半天头都大了!最后由我的 老大解决了!

问题总结:

1.重新导入的项目结构与原来的不同

src 包等等都和原来的不同,打开项目主目录,中有个.classpath文件,用记事本打开会发现有一行<classpathentry kind="src" path="src"/>,估计它的意思就是说你的源文件位置,看看有没有这一行,没有一定要补上,下面就是一些jar包的导入路径,如:

//这两行也应该是MyEclipse自动生成的,JAVA运行环境 \J2EE1.4

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/>

//导入的JAR包位置
<classpathentry kind="lib" path="web/WEB-INF/lib/acegi-security-1.0.0-RC1.jar"/>

2.刷新项目不自动编译,将WEB-INF下面的classes文件夹中的字节码文件删除后不再重新生成

遇到此问题要检查是否有这一行

<classpathentry kind="output" path="web/WEB-INF/classes"/>

这是指定将字节码文件输出到哪,如果没指定当然不会默认给你找个地方存了。

3.以上两个步骤都做完了,但项目依旧跑不起来

这个时候你要用到MyEclipse的项目清理功能,在菜单栏里的project里有个clean,它会强制清除那些配置文件,重新生成就会正确了。

项目跑起来了,要记得做个笔记,以后遇到问题了有个参照!可能解释的并不正确,但问题确实解决了!

关于MyEclipse不能自动编译

2009-06-19 16:27

方法一 :

? 有时候在MyEclipse里修改了内容,但它却没有自动编译,导致修改后没有达到我们想要结果。

? 既然是默认是自动编译,它没有被编译,那就手动编译。

? 方法如下:

? 在MyEclipse的工具栏,找到Project---->把默认打勾的Build Automatically(自动编译,说明MyEclipse默认是自动编译的),把它的勾去掉,再找到Project---->Build All,手动编译完再把Build Automatically的勾打上。让它再默认自动编译!

? 方法二:

? 如果是tomcat服务器。把work下目录删除。清除缓存,把项目删除重新导入,重新编译




解决tomcat5和MyEclipse默认文件夹ROOT和WebRoot的冲突

1、你可以把你的应用程序放到ROOT下面。这样你就可以http://localhost:端口直接访问了
2、你可以更改server.xml文件(conf/server.xml)"?? debug="0"?? reloadable="true"/>??

比如你的程序放在tomcat的webapps\CadreManagement\CadreManagement?

你想访问webapps\CadreManagement\CadreManagement \ROOT\ index.jsp

只要把<Host name="localhost" appBase="webapps“

改成
<Host name="localhost" appBase="webapps/CadreManagement/CadreManagement"

3、 在web.xml中设定默认的登陆文件名,比如:index.jsp,index.html,default.html等

4、注意:eclipse+MyEclipse新建项目默认的文件夹是WebRoot,而tomcat默认的是ROOT。为了调试程序方便,可以在新建项目的时候把WebRoot改为ROOT,或者你可以更改conf\context.xml

?

?

更改项目名称后还需要做如下修改才能在Tomcat中正常启动:



右键点击项目-->Properties-->MyEclipse-->Web? 将Web Context-root 内的名称更改成项目名。