最近在STS4中Tomcat9&JDK8&MySQL8环境下运行老环境(Tomcat6&JDK8&MySQL5)的动态web项目(Dynamic Web Project)时遇到“the selection cannot be run on any server”的问题。
百度了一下,有篇文章(the selection cannot be run on any server 出现原因及解决办法 - Quicksand的博客 - CSDN博客 )
说可能是运行时(Runtimes)的问题,于是我按文中方法并结合自己的摸索修改运行时,最终解决了问题,成功运行了项目。过程如下:
1.导入项目:
File–>Open Projects from File System–>Directory–>选择要导入的项目(手动输入路径也可以)–>Finish 。
大家应该都是导入项目后才遇到问题的,这里只是写一下流程而已。
2.修改运行时:
选中要修改的项目–>右键–>Properties–>Targeted Runtimes–>在Targeted Runtimes(安装了JavaEE扩展才会有这个选项)列表中勾选运行时(如列表中无可选运行时,可以通过列表右下角的New按钮新建一个:New–>选择自己安装的Tomcat版本(如Apache Tomcat v9.0)–>Next–>Tomcat installation directory:选择或输入Tomcat安装路径(创建了服务器的话,默认路径就已经是Tomcat安装路径了)–>JRE:选择自己电脑上安装的JRE(如jre1.8.0_201))–>Apply and close。
做到这一步"the selection cannot be run on any server"应该就解决了,可以进一步在服务器上运行项目了。
3.修改获取数据库连接的语句
我要运行的项目要用到MySQL,所以运行项目前要保证mysql中有对应的数据库、表单、数据以及项目连接数据库的语句正确才可以正确运行。该项目中mysql-connector用的是mysql5的,我电脑中的MySQL是MySQL8,虽然mysql5的connector也能连接mysql8,不过连接语句还是要用mysql8的才行。
通过JDBC获取MySQL8连接可参考我的另一篇文章:Eclipse开发环境下通过JDBC获取mysql8连接的方法 - weixin_43340278的博客 - CSDN博客
4.在服务器上运行项目:
选中自己创建的服务器–>右键–>Add and Remove–>添加项目–>启动或重启服务器–>在浏览器端输入地址访问项目。
这个大家应该也会,也是写一下流程而已。我到了这一步项目就运行起来了,祝愿做到这一步大家的项目也能成功跑起来!