做项目,搞开发。开发环境配置时第一步。只有环境搭好了,以后的事情才能顺利进行!
这不需求来了,负一屏项目有新功能需要添加,临时接手,要进行服务器前端开发。这个项目是以前后台java人员进行开发的。都是jsp页面,那个叫心塞的啊,看的一脸不爽。但是,工作还得继续,没接触过的,就得去趟趟,试试水。
把项目clone下来,用eclipse打开,发现一大把坑正在袭来。那个项目旁边的红色xxoo都在告诉你,环境出现问题了,你得慢慢解决了!
首先从后台人员那得到消息:1、此项目的jdk版本是1.7;2、使用的是tomcat服务器启动
java项目就是这样,每个项目用的jdk版本各不相同,而且你改变jdk版本,可能对你的项目造成影响,不能编译运行下去也是常有的问题。所以,还是按照版本来,不想走弯路。
一、首先就是修改项目的jdk版本
本电脑的java环境是更新过的,现在的jdk版本是1.8,查看方法:
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\JLB3610>java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) C:\Users\JLB3610>
修改项目的jdk版本有蛮多方法,网上一查很多,我就用了比较简单的一种方法:
二、下载tomcat和部署项目到tomcat上
1、下载tomcat
进入官网:https://tomcat.apache.org/download-90.cgi,选中与你系统匹配的包,我的电脑是window7 64位,下载完成后解压。我的解压到了 D:\apache-tomcat-9.0.14目录。
2、部署项目
点击你选中的项目,然后 window->Show view ->Servers
如果你这里显示的是上图所示,没有可用的服务,需要点击添加新的服务。如果有服务,但是不是你所需要的tomcat服务,则需要将它删除。
现在我们就先添加新的服务:
添加成功后,你就为你的项目添加了tomcat服务器了,如下图所示:
如果一切水到渠成,这个时候你只需要启动服务器就可以打开你的项目页面了。java项目需要编译后才能运行,而编译有手动编译和自动编译,eclipse好像是进行自动编译的。我的项目clone下来之后好像就自动进行编译了。我也不是很确定,刚接触没有搞明白。但是为了确认是不是进行编译了,自己进行了手动编译。
点击Project -> Clean,这个就是手动编译的操作,会删除再进行编译。
3、启动服务器
选中生成的tomcat v9.0 Server at localhost——右键——Start
能启动服务器,但是eclipse默认运行后会部署到一个叫做wtpwebapps的文件夹,若想将默认文件夹改成Tomcat目录下的webapps(为了方便在eclipse外直接用浏览器和Tomcat发布),可以按以下步骤修改:
- 停止eclipse内的Tomcat服务器(stop)
- 删除该容器中部署的项目(add and remove)
- 清除该容器相关数据(clean)
- 打开tomcat的修改界面(open)
- 找到servers location,选择第二个(User tomcat Installation)
- 修改deploy path为webapps
- 保存关闭(ctrl+s)
- 123必须操作,否则下面的步骤会被置灰,无法操作。
然后还是把项目通过add and remove操作添加到tomcat服务器下。添加成功之后,最后是重启一下eclipse。
重启完eclipse之后,选中生成的tomcat v9.0 Server at localhost——右键——Start
开启服务器之后,输入 http://localhost:8080/ ,如果看到了apache tomcat的界面,说明你配置成功了。
但是你的项目不是在http://localhost:8080/这个路径下,到底是什么路径我也尝试了很久,最后歪打正着,在tomcat的解压目录D:\apache-tomcat-9.0.14\下的conf文件中,找到了server.xml文件,打开之后在Host标签处发现了自己项目的Context
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
--> <!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/> <Context docBase="synthadm" path="/synthadm" reloadable="true" source="org.eclipse.jst.jee.server:synthadm"/></Host>
然后抱着尝试的心态输入 http://localhost:8080/synthadm,成功打开了项目登录页面。
4、出现的启动服务器错误:Tomcat v9.0 Could not publish to the server. java.lang.IndexOutOfBoundsException
解决方法可以看这篇文章:https://www.cnblogs.com/zengfp/p/10144909.html
三、总结
在着手开发一个项目的时候,搭建环境需要的是耐心和不断的踩坑突破。尽管自己不熟悉某一方面,但是尝试着,慢慢去了解,问题还是可以慢慢解决的。
跨过每一个小坑,让自己每天都进步一点点!您的点赞是我前进的鼓励!希望你不要吝啬哦。个人博客网址:https://www.zengfanping.com。不吝赐教