新人配置Eclipse+TomCat+Struts2 些许注意事项
学习JSP变成,照现在流行的教程来看,必定会学习到Eclipse,Tomcat,Struct2,Spring,Hibernate等...
本来这学期我们学校是教授J2EE 和 J2ME的 学校,但是由于某些原因,我基本没去上课,所以打算在寒假里面补习一番...
但是流行的学习资料都是按照MyEclipse6.X+Structs2.0来学习的
作为一个新人程序员,为了学习新技术跟进新版本的开发工具我觉得也是必要的
作为一个追新族,我使用的是Eclipse 3.5 伽利略 ,Tomcat 6.2,Struct2.1.8
至于Spring3,Hibernate3等,等我遇到问题之后我可能会再发日志吧...
按照书本或者网络上的配置,使用新版必定会发生一些故障,我也遇到了不少,Google解决之,为了免去麻烦,所以写下日志以免忘记。
1.Tomcat配置
网上很多都是MyEclipse配置Tomcat,其实新版Eclipse 3.4 自带的Server项目能很好的支持Tomcat,完全不需要使用MyEclipse或者其他Plugin...
在配置里面的 Server 下面 选择 Runtime Environments 按下图进行Tomcat的配置...
之后 选择File -> New -> Others 选择 Server ,下一步 即可出现如下界面,选择Tomcat6.0 ,Server runtime environment 选择刚才配置好的
最后在你新建一个 Dynamic Web Project 的时候,默认已经帮你选择好 相应的服务器了...
有时 你将会在Console里面看到如下的警告
2010-1-4 13:14:13 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:LearnJSP' did not find a matching property.
2010-1-4 13:14:13 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context/Loader} Setting property 'useSystemClassLoaderAsParent' to 'false' did not find a matching property.
2010-1-4 13:14:13 org.apache.catalina.core.AprLifecycleListener init
出现SetPropertiesRule警告的原因是因为Tomcat在server.xml的Context节点中不支持source属性
解决方法是在Server的配置界面中选中"Publish module contexts to separate XML files"选项。
有时新配置Tomcat+Eclipse时会有如下问题:
2010-1-4 12:37:38 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_17\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jdk1.6.0_17/bin/../jre/bin/client;C:/Program Files/Java/jdk1.6.0_17/bin/../jre/bin;C:\Ruby\bin;C:\Program Files\Java\jdk1.6.0_17\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\Program Files\Autodesk\Backburner\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs
java.lang.reflect.InvocationTargetException
Google后得知此问题是由于Apache 默认推荐使用ARP提升系统性能,所以在启动Tomcat时会去搜寻这个库,解决方法很简单去http://tomcat.heanet.ie/native/ 下载最新的库(一般只需要下载tcnative-1.dll 就行了) 放入你JDK安装目录下的bin文件夹即可...(比如我JDK的Bin文件夹在C:\Program Files\Java\jdk1.6.0_17\bin)
文章地址:http://tomcat.apache.org/tomcat-6.0-doc/apr.html
2.Struts2的问题
Struts2 的问题是由于2.0和2.1.X的jar修改比较多造成的,用2.0的方式去放入2.1.X的jar包,当然会出问题
开始学习Struts2时 2.0 的jar包需要(一般书籍上提到的):
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
xwork-2.0.7.jar
而2.1.8中则是:
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar
没错 xwork的已经改名,多了-core-,而2.18里面commons-fileupload是必须组件,你不放进去,将导致
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/E:/apache-tomcat-6.0.20/webapps/Web/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:47:178
类似的问题...
3.Eclipse 3.5 视图改变了
如图 书本上的src 这里默认叫做 Java Resources:src
而里面的java文件默认编译成的class将被放置在 build 文件夹下面,此文件夹默认与WebContent同级目录,classes文件夹在build文件夹下,不再放在WEB-INF下面了
而Struts2的jar包只能放在 WEB-INF的 lib 文件夹下,放好之后 Java Resource 下面的Libraries 下的 Web App Libraries 下面会显示相应的类库
WebConent即以前的WebRoot
而这些都可以在新建项目的时候自己修改...







2010年02月12日 18:51
路过啊 考研所以J2EE的 课程也没上,在家补那,看到仁兄的贴了。
2010年02月12日 23:40
呵呵,我这几天又没学习,家里实在太冷了,就懒惰了……
不管怎样,文章只要对大家有帮助,我就心满意足了。
您在家继续努力哦!
2010年02月25日 17:30
文章写的很好,但是我的Eclipse 3.5 Galileo 怎么在“Runtime Environments ”里面没有任何东西,无法添加Tomcat啊?我下载的是:eclipse-SDK-3.5-win32.zip (162 MB (170,295,953 字节)),不知是否正确?迫切恳请楼主回复。过几天要去当JAVA高级程序员了,现在才开始接触这个。。。
2010年02月26日 04:13
Preferences –> Server 下面的 Runtime Environments 本来就没有什么的 你点击 Add 然后选择 Apache 里面的 Tomcat 选择你用的版本 按照提示配置完即可
(Tomcat installation directory 选择你下载的Tomcat的安装的目录,比如“D:\tomcat” ,错误目录是不能下一步的,Eclipse是会提示错误的)
然后你才能 在新建 Server时候 Server runtime environment 有刚配置的运行库(也可以直接点下拉框边上的Add添加,和上面操作效果是一样的)
你要是没JRE的话 可以在 Preferences –> JAVA –>Installed JREs 下面配置
不知是否对你有帮助,仍旧有疑问的话,欢迎一起来探讨。