初衷:在写下关于Eclipse搭建Web的同时,公司的电脑配置已经快要不能满足MyEclipse10的内耗,出于被迫、无奈,此处省略1000字,转向Eclipse继续开发。
如果你的电脑配置也和我一样,在对MyEclipse优化之后,任不够内耗,我想这篇文章或许对你会给你带来一些帮助。
一. 下载Eclipse
Eclipse官方网站:http://www.eclipse.org/downloads/
题外话:据网上了解得知中国的破解太牛了,MyEclipse的官方网站需要翻墙才能访问,目前MyEclipse的2014版本已经出来了,感兴趣的话可以百度一下相关信息。
这里我用的版本是太阳神 eclipse-jee-helios-SR1-win32 ,貌似现在最新版本是SR2。
二. 相关插件
安装Eclipse的步骤,这里我就省略了,直接上插件了,我用到的插件如下:
1. tomcatPlugin下载地址:http://www.eclipsetotale.com/tomcatPlugin.html
2. OpenExplorer下载地址:https://github.com/samsonw/OpenExplorer/downloads
三. 搭建Web项目
第一种方式:使用tomcatPlugin插件部署WEB项目开发环境
(插件的安装步骤在此省略,不明白的请教度娘)
安装完成以后,如下,会出现三个图标
Window --> Preferences --> Tomcat 中,选择自己对应的版本,Context declaration mode下选择Server.xml,设置为虚拟目录。
添加项目成为tomcat project,项目右键,将Is a Tomcat Project打上勾,填写Context name项目访问工程名,将Subdirectory to set as web application root此处
设置为你项目的根路径,根据自己的项目而定。
最后,选择项目右键,此处选择Tomcat porjet -> Update Context definitioin选项,这一步实际上做的事情是将
<Context path="/ServeBackstage" reloadable="true" docBase="D:\project\yeepay\YeePay\ServeBackstage_New\webapp" workDir="D:\project\yeepay\YeePay\ServeBackstage_New\work" />
添加至tomcat的server.xml中。
自此已经大功告成了,选择设置好的项目,选择启动,如果你的项目没有报错,则启动成功。
请注意:用tomcatPlug插件的方法来部署开发中的环境,优点在于简单便捷,缺点在于,考虑电脑配置和项目大小所占用的内存虚耗,插件始终将N多项目加载与一个tomcat启动,如果你的电脑配置够好,这里可以暂不用考虑太多,如果你的电脑配置一般般,希望能够节省内存,将多个项目配置于多个tomcat中分别启动,请参考第二种方法。
第二种方式:使用Eclipse自带Servers来管理更多项目,不同项目支持配置多个tomcat容器。
1. 在Serves栏空白处选择新增Server
2. 选择对应的Tomcat版本,定义服务名,直接Finish。
3. 找到项目栏中对应的Servers中的 server.xml打开
4. URIEncoding属性是指定tomcat项目的编码格式,这里可以选择配置;Context标签下的属性需要根据自己的项目存放路径进行修改,path是访问路径也需要根据自己的
配置修改,其他不变。
如果不知道存放路径,可以选择Flie - Switch Workspace 来修改查看自己的工作空间存放路径。
这里提供了Server.xml的配置模板,提供替换修改。
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8021" shutdown="SHUTDOWN">
<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
<Listener className="org.apache.catalina.core.JasperListener"/>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<GlobalNamingResources>
<Resource auth="Container" description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase"
pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>
<Connector port="8022" protocol="AJP/1.3" redirectPort="8443"/>
<Engine defaultHost="localhost" name="Catalina">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false"
xmlValidation="false">
<Context path="/ServeBackstage" reloadable="true" docBase="D:\project\yeepay\YeePay\ServeBackstage_New\webapp"
workDir="D:\project\yeepay\YeePay\ServeBackstage_New\work" />
</Host>
</Engine>
</Service>
</Server>
四. 疑问
今天抽了一天的时间整理和学习Eclipse如何进行J2EE开发的过程,中间遇见问题最多的是,在Servers栏中,新增Server,在Server中如下图,加入了指定项目以后
不使用上面提供的server.xml模板替换修改,直接启动,每次启动的时间仅为Server startup in 331 ms,速度很快,很显然这里tomcat没有加载对应的项目,
但是在对应的Server.xml配置文件中,已经自动添加了如下xml,这里自动添加的context没能让项目真正的加载,并完成启动。
<Context docBase="ServeBackstage_New" path="/ServeBackstage" reloadable="true" source="org.eclipse.jst.jee.server:ServeBackstage_New"/></Host>
通过度娘,查到这篇关于 更改Eclipse下Tomcat的部署目录 的文章:http://kingxss.iteye.com/blog/1741438,找到.metadata\.plugins\org.eclipse.wst.server.core\tmp0
默认路径如下图,已经加载了相关内容,但却任然无法加载启动指定项目!!!实在不明白问题出在哪里,请高人指教!
补充:
双击Servers栏中配置好的tomcat,将Tomcat做如下修改,修改完成保存以后,将不在使用默认工作空间,指向Tomcat weabapp目录下。
runtime Eviromer需要将tomcat加入进来,不然项目中导入必须包时 无法添加tomcat的引用包。
=====================================================================================================
解决疑问
分析问题:tomcat启动未加载任何项目,即使在tomcat中关联了该项目依然未能启动指定项目,原因在于Generateweb.xmldeploymentdescriptor,生成的web。xml部署的路径默认指向的地址 Content directory 是WebRoot,而我们的项目是webapp,导入完成项目后,我把新增出来的WebRoot文件夹又给删除了,所以导致了关联不上的问题。
如果你在导入或者新建项目的时候,忘记修改实际指向部署web.xml的路径,别慌,可以将当前的项目的 Dynamic Web Module 和 Java 以及 JavaScript三项取消掉,然后重新打开添加,此时下面会出现 Further configuration available 链接,注意看红色圈起来的地方,点击以后即可修改,至此我的疑问已经解开,分享出来,希望能够帮助和我遇
到同样问题的朋友们。
使用中碰到的问题(不断更新中)
2014-2-21 10:30:28
1. tomcat 热重启的问题:Server中tomcat 下面的 server.xml 修改一下属性,默认添加项目,项目中会增加reloadable="true"
<Context path="/newDcx" reloadable="false" docBase="D:\workspace\newDcx\web" workDir="D:\workspace\newDcx\work" />
2. eclipse提示ambiguous 的解决方法:eclipse编译对同一方法不同参数无法区分具体方法,解决如下:
在eclipse.ini -vmargs后面添加 -DtolerateIllegalAmbiguousVarargsInvocation=true
重启并Clean,自动重新编译之后错误消失
3. 内存溢出
java.lang.OutOfMemoryError: Java heap space |
修改jdk 使用内存(此方法可行)
找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的 “Default VM Arguments ”选项中,填入如下值即可。
-Xms64m -Xmx128m |
修改Run Configurations (此方法可行)
在代码上右键,依次点击“Run As ”-> “Run Configurations ”,在Arguments 参数中的“VM arguments: ”中填入如下值即可。
-Xms64m -Xmx128m |
原文:http://blog.csdn.net/wgw335363240/article/details/6397803