• Eclipse+Maven+Tomcat 集成开发环境配置


    在Eclipse中创建的Dynamic Web Project 类型的Web 项目, 通过Run As -> Run on Server 可以添加本地安装的Tomcat,在Eclipse 中启动Tomcat 进行整合开发。
    在这里插入图片描述

    但是如果创建的是Maven类型的项目,如果没有导入额外的包还正常, 但是只要在pom.xml 中引入了其他的包,会报找不到Class的错误, 如下图:
    在这里插入图片描述

    如果在Eclipse 中对Maven 类型的项目可以直接整合Tomcat 运行呢?首先来看看两者的项目的结构。

    项目结构比较

    为了开发的结构清晰和区别度, 在 Eclipse中看到的项目的结构和实际的文件结构有一些差异, 而不同类型的项目的结构也是不同的。

    Maven类型的项目结构如下:

    在这里插入图片描述

    其结构的特点是:

    1. 分离了Java代码和配置文件, 也就是src/main/java 和src/main/resources
    2. 注重单元测试, 有src/test 目录
    3. Web资源相关的文件在src/main/webapp 下进行添加。
    Dynamic Web Project类型的结构如下

    在这里插入图片描述

    动态Web 项目主要分为java 代码(src)和Web内容(WebContent)。

    Eclipse 项目结构揭秘

    Eclipse 是如何定义项目的类型的呢? 答案就是项目里的 .project 文件来记录的, 以动态Web项目为例, 该文件的内容如下:

    
    
    	myapp
    	
    	
    	
    	
    		
    			org.eclipse.jdt.core.javabuilder
    			
    			
    		
    		
    			org.eclipse.wst.common.project.facet.core.builder
    			
    			
    		
    		
    			org.eclipse.wst.validation.validationbuilder
    			
    			
    		
    	
    	
    		org.eclipse.jem.workbench.JavaEMFNature
    		org.eclipse.wst.common.modulecore.ModuleCoreNature
    		org.eclipse.wst.common.project.facet.core.nature
    		org.eclipse.jdt.core.javanature
    		org.eclipse.wst.jsdt.core.jsNature
    	
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    而对于Maven类型的项目, .project 的内容则类似:

    
    
    	javaweb
    	
    	
    	
    	
    		
    			org.eclipse.jdt.core.javabuilder
    			
    			
    		
    		
    			org.eclipse.wst.common.project.facet.core.builder
    			
    			
    		
    		
    			org.eclipse.wst.validation.validationbuilder
    			
    			
    		
    		
    			org.eclipse.m2e.core.maven2Builder
    			
    			
    		
    	
    	
    		org.eclipse.jem.workbench.JavaEMFNature
    		org.eclipse.wst.common.modulecore.ModuleCoreNature
    		org.eclipse.jdt.core.javanature
    		org.eclipse.m2e.core.maven2Nature
    		org.eclipse.wst.common.project.facet.core.nature
    		org.eclipse.wst.jsdt.core.jsNature
    	
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    可以看到, Maven 类型的项目的nature 有org.eclipse.m2e.core.maven2Nature, 构建命令(buildCommand)则包含 org.eclipse.m2e.core.maven2Builder

    在Maven项目中集成Tomcat 服务器

    在Eclipse中可以直接运行动态Web项目,而不需要把Web项目打包到服务器目录中, 方式是右键单击项目,选择 Run As -> Run On Server, 如下图:

    在这里插入图片描述

    在弹出的对话框中, 选择对应的 Tomcat版本和本地Tomcat的路径,类似:
    在这里插入图片描述

    这里就遇到了开篇的问题, 如果是Maven类型的项目, 通过这种方式会找不到pom.xml 导入的第三方包,何也? 因为这是两种不同类型的项目。有解法吗? 当然有。

    很简单, 右键单击项目, 选择 “Properties”, 在弹出对话框选择“Deployment Assembly”, 点击右边的 “Add”按钮, 在弹出框种选择 “Java Build Path Entries”, 将Maven Dependencies 添加进来。
    整个步骤的目的就是: 将Maven的依赖项添加到动态项目的lib 目录中, 操作的界面如下:

    在这里插入图片描述

    在这里插入图片描述



  • 相关阅读:
    SveletJs学习——事件
    PyTorch设置可复现/重复实验
    Redis系列18:过期数据的删除策略
    Nginx Rewrite
    为什么要选择Spring cloud Sentinel
    【CSS动效实战(纯CSS与JS动效)】03 精美手风琴侧边栏完整示例教程 示例1
    【人脸识别】Octuplet Loss:一个可以提高低分辨率和跨分辨率人脸识别效果的损失
    【数据结构】链表的学习和介绍
    Windows 文件共享
    653. 钞票
  • 原文地址:https://blog.csdn.net/oscar999/article/details/128211545