eclipse上tomcat配置server

之前是没有建server的情况下跑的,不知道为啥突然不行了。按照网上的零碎信息又处理好了,特记下来,留给自己和可能碰到类似问题的朋友。

perference->server->runtime environment里添加后,打开server窗口,添加一个server.
然后打开这个server,配置server locationuser tomcat installation,即把服务部署到tomcat安装的目录。

  • setver path设置到tomcat的安装目录
  • Deploy path设置成webapps

需要请求起作用,就要把开发文件部署到tomcat安装主目录下的webapps文件下。比如你建了一个tomcat project,名叫HelloWorld,就要把HelloWorld转移到webapps里面。当然不是拷贝HelloWorld文件夹,里面的一些内容需要编译或者选择拷贝。这些工作都是插件、IDE的工作,我们要的就是看看tomcat安装目录下是否生成了我们需要的app。

然后看到网上说要把项目Run on server,可是右键项目主目录,选择 Run as后并没有server的选项,然后查到需要配置:在项目主目录上右键,选择properties,选择Project Facets后,勾选Dynamic Web Module,apply之后生效。这样就有Run on server了。

这时再回到项目主目录,Run as->Run on server,选择我们刚创建的server,就跑起来了。这个时候发现项目还是没有生效,虽然tomcat/webapps里面已经有我们的项目文件夹了(如HelloWorld)。后来我才发现刚配置完Project Facets后项目发生的两个变化:

  • 在主目录下多了一个WebContent文件夹,里面有META-INFWEB-INF两个文件夹。一对比,发现部署到tomcat安装目录下的文件就是这个WebContent里的内容。

  • 在项目的properties里多了一个Deployment Assembly设置项,发现里面就是“项目目录”到“部署目录”的对应关系。比如第一个就是/WebContent/

之所以现在还没部署好,是应为这时候的目录结构跟tomcat插件构建的tomcat project的目录结构是不同的。现在是把WebContent装配到 webapps中的app目录里,而插件的目的是把主目录直接装配过去。至于为啥这样,现在我还没能力探索。

暂时就把web内容搬到webContent里吧。

最后还有一点编译的问题:

properties->java build path里,设置代码的编译路径,把WebContent/WEB-INF/src里的源码编译到WebContent/WEB-INF/classes里。这样修改代码后,实际部署的class文件才会改变。至于自动编译,参考这里:eclipse怎么不自动将src下的文件编译到WEB-INF/classes下.

你可能感兴趣的:(eclipse上tomcat配置server)