• 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 目录中, 操作的界面如下:

    在这里插入图片描述

    在这里插入图片描述



  • 相关阅读:
    猿创征文 | Docker笔记:Docker网络知识介绍
    js 时差计算 根据时间戳获取相差时间 几时几分几秒
    提升文件上传性能的 4 种方式,你会吗?
    常用的OLED透明显示屏款式,有几种?
    MySQL报错this is incompatible withsal mode=only full group by处理办法
    C++线程创建的方式和使用
    Windows UIA自动化测试框架学习--获取qq好友列表
    Devart dotConnect ADO.NET Data Providers Crack
    什么是DOM(Document Object Model)?如何使用JavaScript操作DOM元素?
    最新计算机网络考试试题分析与整理
  • 原文地址:https://blog.csdn.net/oscar999/article/details/128211545