今天,碰到个怪事,在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 内的名称更改成项目名。
分享到:
相关推荐
- 确保Java编译后的class文件位于Flex项目的webroot/web-inf/classes目录,以便于LCDS访问。 **总结** 通过这个入门教程,你将了解如何搭建Flex、LCDS和Java的开发环境,创建一个结合Flex前端和Java后端的项目,并...
在`WebRoot\WEB-INF`目录下创建`classes`文件夹,用于存放编译后的类文件。接着,添加必要的Struts2库文件(jar包)到项目的类路径中。最后,配置`web.xml`文件以启用Struts2框架: ```xml <filter-name>struts2...
开发者通常会在WebRoot下创建对应的目录结构,如WEB-INF/classes存放编译后的Java类,WEB-INF/lib存放项目所需的jar库,以及views目录存放JSP文件。 通过分析这个项目,学生不仅可以学习到Java Web开发的基本技术,...
在部署项目时,确保Java编译后的class文件位于Flex LCDS项目下的webroot/WEB-INF/classes目录,以便服务器能够正确加载和执行。在MyEclipse中,你可以方便地发布整个项目到Tomcat服务器,完成部署。 总之,Flex ...
如果选择分开构建,Flex项目和J2EE项目将需要相互依赖,J2EE项目编译后的class文件需要放置在Flex项目的webroot/web-inf/classes目录中。 部署和配置: Flex应用的部署涉及到将Flex.war文件发布到Web应用服务器上。...
例如,将Java源文件的编译目标设置为“WebContent/WEB-INF/classes”。 **步骤四:运行Web Project** 右击项目根目录,选择“Run As” -> “Run on Server”,即可在Eclipse环境中运行该项目。 #### 断点调试技巧...
这种方式下,Java编译后的class文件需要放在Flex项目的webroot\web-inf\classes目录下,确保与BlazeDS部署的项目在同一目录下。 2. 配置J2EE服务器。在MyEclipse中,指定Tomcat服务器的运行时环境,并设置编译后的...
3. 项目Class设置错误,应该设置为WebRoot/WEB-INF/classes。 4. 创建的表中缺少字段,如obid或create_dt字段。 5. 启动项目时遇到的错误可以忽略,如[org.hibernate.SQL]错误和...
4. 集成Java代码:在Java源码目录中编写业务逻辑,编译后的class文件需放在Flex项目下的webroot/web-inf/classes目录,以便与Flex应用一起部署。 5. 部署和测试:在MyEclipse中,你可以方便地将整个工程发布到...
为了使Flex和Java在同一工程中,我们需要确保Java编译后的class文件位于webroot\web-inf\classes目录下,以便与BlazeDS部署的项目一起使用。 2. 配置J2EE服务器: - "Target runtime"虽然可能在实际操作中并不重要...
在Java端,你需要创建对应的业务逻辑和服务接口,编译为class文件并放置在Flex项目WebRoot/web-inf/classes目录下。这样,当Flex应用启动时,可以通过LCDS透明地调用Java服务。 **五、深入理解** 1. **...