Mave-整合(Eclipse、IDEA)
1 Maven整合Eclipse
Maven整合Eclipse就是在Eclipse中安装Maven的插件,这样我们就可以直接在Eclipse上使用Maven,而不需要去命令窗口敲Maven命令了。有两个Maven插件我们可以用来整合Eclipse,实际应用中安装其中一个就可以了。
1.1 Eclipse m2e
给Eclipse安装m2e插件的好处:
-
可以在Eclipse中使用Maven
-
Eclipse中build path依赖管理是基于Maven的pom.xml的。
-
可以从Eclipse的工作空间解决Maven的依赖关系,而不需要把它们安装到Maven的本地仓库中。
-
自动从Maven的远程仓库中下载所需要的依赖包
-
可以使用向导来创建Maven项目
-
可以在Maven的远程仓库中快速搜索依赖包
可以从地址http://download.eclipse.org/technology/m2e/releases在线的给Eclipse安装最新的m2e插件,步骤如下:
第一步:选择help菜单下面的install new software菜单项,出现如下界面。
第二步:点击add按钮,
在弹出的对话框中输入插件对应的名称和地址,这里我们可以输入Maven和http://download.eclipse.org/technology/m2e/releases。输入完成后点击OK。这个时候就会把对应地址可以安装的插件都列出来,如下图所示
之后可以根据提示来进行安装。安装完成后需要重新启动Eclipse。
安装完成重启之后我们可以看到菜单window->Preferences点击进入后会多出一栏Maven的菜单栏。我们可以点开该Maven菜单栏,然后找到对应的installations菜单点击,在出现的右边窗口中我们可以选择add按钮添加我们自己的Maven安装目录。
Maven安装完成后我们就可以在Eclipse中新建自己的Maven项目了。我们可以在Eclipse中选择new一个project,在出现的对话框中选择Maven目录下的Maven Project。
点击下一步:
点击下一步,进入新建Maven项目使用的archetype的选择页面,默认将选择maven-archetype-quickstart建立一个java project。
点击Next进入下一步,在这一步中将输入建立Maven项目核心的groupId、artifactId和version。
1.2 Eclipse IAM
安装Eclipse IAM插件的URL为http://q4e.googlecode.com/svn/trunk/updatesite-iam/。安装方法跟Eclipse m2e类似。这里就不再过多的赘述。
1.3 通过Eclipse Marketplace安装Maven插件
此外,我们也可以通过Eclipse Marketplace来安装Maven插件。具体步骤如下:
1、选择Eclipse菜单栏的help菜单。
2、点击Eclipse Marketplace菜单项,点击之后会出现如下界面。
3、之后在搜索框里面搜索Maven,会出现一系列的与Maven有关的插件,选择对应的插件进行安装即可。
2 Maven整合IDEA
Idea版本:idea2020.3
点击File -> New -> Project -> Maven -> 勾选 Create from archetype
2.1 创建项目
2.2 选择maven
2.3 填写maven项目选项卡(名称、GroupId、ArtifactId、Version)
填写GroupId和Artifactid,其中GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构,ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
2.4 在新建的项目中添加所需要的文件/文件夹
在项目的根目录下新建target文件夹,系统自动将其设置为“Excluded”
在src/main目录下新建Directory:“java”,并将其设置为“Source Root”(即:此项目默认的代码文件源目录)
在刚才新建的java文件下新建“com”包,再在com包下新建四个包,分别命名为:pojo,service,dao,controller。
- pojo: 存放自定义的java类。每个类的属性设为private,并提供public属性的getter/setter方法让外界访问
- service:定义接口,包含系统所提供的功能。(之后还会在service包下再新建impl包)。
- dao:定义接口,包含与数据库进行交互的功能。
- controller:控制器,负责接收页面请求,转发和处理。
有时候包堆在一起不逐层显示的话影响创建文件是的存放位置,下面打个勾就可以了
对项目的pom.xml文件进行配置,在此文件中配置项目所需要的jar包。
以SSM框架1为例引入POM文件jar包
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>first</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>first Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring.version>5.0.3.RELEASE</spring.version>
<mybatis.version>3.4.4</mybatis.version>
</properties>
<dependencies>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 第一部分:Spring 配置-->
<!-- Spring core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring DAO -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring mvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 第二部分:Servlet web -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.4</version>
</dependency>
<!-- 第三部分:数据库和mybatis -->
<!-- 数据库 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- mybatis-spring整合包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<!-- 第四部分:日志 -->
<!-- 实现slf4j接口并整合 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
<build>
<finalName>first</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>