M-78 星云 凹凸曼就是打这里出来的

4一/104

新人配置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

而这些都可以在新建项目的时候自己修改...

原创文章,转载请注明: 转载自M-78 星云

相关博文

评论 (4) 引用 (0)
  1. 路过啊 考研所以J2EE的 课程也没上,在家补那,看到仁兄的贴了。

    • 呵呵,我这几天又没学习,家里实在太冷了,就懒惰了……
      不管怎样,文章只要对大家有帮助,我就心满意足了。
      您在家继续努力哦!

  2. 文章写的很好,但是我的Eclipse 3.5 Galileo 怎么在“Runtime Environments ”里面没有任何东西,无法添加Tomcat啊?我下载的是:eclipse-SDK-3.5-win32.zip (162 MB (170,295,953 字节)),不知是否正确?迫切恳请楼主回复。过几天要去当JAVA高级程序员了,现在才开始接触这个。。。

    • Preferences –> Server 下面的 Runtime Environments 本来就没有什么的 你点击 Add 然后选择 Apache 里面的 Tomcat 选择你用的版本 按照提示配置完即可
      (Tomcat installation directory 选择你下载的Tomcat的安装的目录,比如“D:\tomcat” ,错误目录是不能下一步的,Eclipse是会提示错误的)
      然后你才能 在新建 Server时候 Server runtime environment 有刚配置的运行库(也可以直接点下拉框边上的Add添加,和上面操作效果是一样的)
      你要是没JRE的话 可以在 Preferences –> JAVA –>Installed JREs 下面配置
      不知是否对你有帮助,仍旧有疑问的话,欢迎一起来探讨。


发表评论


还没有引用.