把MyEclipse项目转为WTP项目

分类:Tech | 作者:Shoopman | 发表于2009/08/20 没有评论  

马上要进入另一个项目组了,新项目所用的IDE是MyEclipse。我已不习惯了庞大的MyEclipse,而习惯了WTP并且想试验一下新的Eclipse3.5,因此需要把MyEclipse项目转换为WTP项目。(PS:不遵守团队开发规范是不正确的行为!)

1.在Eclipse里导入MyEclipse项目到工作空间。

2.编辑.project文件,在<natures></natures>中加入

              <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
              <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
              <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>

在<buildSpec></buildSpec>节点加入

              <buildCommand>
                     <name>org.eclipse.wst.common.project.facet.core.builder</name>
                     <arguments>
                     </arguments>
              </buildCommand>
              <buildCommand>
                     <name>org.eclipse.wst.validation.validationbuilder</name>
                     <arguments>
                     </arguments>
              </buildCommand>

3.在Eclipse中刷新项目。

4.右击项目–>Properties—>Project Facets,在右边勾选Java与Dynamic Web Module,应用。

5.如果你的项目源代码文件夹不是WTP默认的src,则需要到Java Build Path中去添加相应源代码文件夹。

6.如果你的项目Web文件夹不是WTP默认的WebContent,则需要文件文件 <项目目录>/.settings/org.eclipse.wst.common.component,找到

<wb-resource deploy-path="/" source-path="/WebContent"/>

并修改,如

<wb-resource deploy-path="/" source-path="/webapp"/>

解决Tomcat在WTP出现的java.lang.OutOfMemoryError问题

分类:Tech | 作者:Shoopman | 发表于2009/04/15 没有评论  

现在项目开发工具用的是eclipse ganymede for jee,自带了WTP。开发期间,webapp是部署到tomcat里。由于某些原因,tomcat用的还是5.0.28版。

现在这个webapp引用了一堆有用没用的jar,共计142个50多M。于是问题来了,当tomcat启动后,访问一个jsp,控制台报了类似一下的异常:

2009-02-05 17:30:32,125 ERROR [org.apache.jasper.compiler.Compiler] -
Compile failed; see the compiler error output for details.
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:944)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
… …
2009-02-05 17:30:32,125 ERROR [org.apache.jasper.compiler.Compiler] -
classpath=/D:/Tomcat/webapps/cos/WEB-INF/classes/;
/D:/Tomcat/webapps/cos/WEB-INF/lib/activation.jar;
(D:/Tomcat/webapps/cos/WEB-INF/lib下的所有jar包)
… …

2009-02-05 17:30:32,125 ERROR [org.apache.jasper.compiler.Compiler] -
系统资源不足。
有关详细信息,请参阅以下堆栈追踪。
java.lang.OutOfMemoryError: Java heap space

解决办法:菜单RunDebug Configurations打开Debug配置窗口,在左边选中所用的Tomcat Server,再在右边切换到Arguments,在VM arguments中加入参数如“-Xms128m -Xmx256m”,来设置Tomcat使用的JVM的内存大小,如下图,接着点“Apply”按钮保存设置吧。