文章目录
为什么要学习MavenMaven环境配置idea配置maven客户端创建maven工程src目录Maven配置文件解读(pom.xml)maven常用命令
web工程骨架错误修改web工程运行ssm整合pom.xml
为什么要学习Maven
项目架构管理工具。javaweb开发中,需要手动导入大量的jar包。Maven可以帮我们自动导入和配置jar包。核心思想:约定大于配置。Maven会规定好你如何去编写java代码。
Maven环境配置
测试是否安装成功: 阿里云镜像配置(setting.xml)作用:加速下载 Settings.xml配置:建立一个本地仓库
idea配置maven客户端
Setting及Other settings-defaultsetting均需配置
创建maven工程
src目录
src/main/java:源代码目录Src/main/resources:资源文件目录Src/test/java:测试用例目录Src/test/resources:测试用例资源文件目录
Maven配置文件解读(pom.xml)
项目坐标 修改maven依赖jdk版本 scope定义jar包使用阶段
test:该依赖仅仅参与测试相关的内容,包括测试用例的编译和执行,比如定性的Junit。compile:默认scope为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会打到包里去。runtime:依赖仅参与运行周期中的使用,编译不参与。一般这种类库都是接口与实现相分离的类库,比如JDBC类库,在编译之时仅依赖相关的接口,在具体的运行之时,才需要具体的mysql、oracle等等数据的驱动程序。 此类的驱动都是为runtime的类库。provided:该依赖在打包过程中,不需要打进去,这个由运行的环境来提供,比如servlet、tomcat或者基础类库等等,事实上,该依赖可以参与编译、测试和运行等周期,与compile等同。区别在于打包阶段进行了exclude操作。
依赖包版本统一管理 排除依赖项 打包时的资源配置
为避免mybatis使用时,映射文件丢失的问题,必须使用该配置:
maven常用命令
clean:清理target目录;
compile:编译命令;
test:执行测试命令;
package:打包命令;一般打包的时候都跳过测试;
install:安装命令:把打包的jar或war上传到本地仓库
deploy:部署命令:把打包的jar或war上传到本地仓库,并上传到远程仓库(私服)
web工程骨架错误修改
maven生成的web项目web.xml格式有误,需手动替换掉。src/main目录下手工创建java,resources目录,并指定为SourceRoot,ResourceRoot;src目录下手工创建test,test目录下创建java目录,并指定test目录为test Source Root;
web工程运行
本地配置tomcat运行。插件运行。Maven插件内嵌应用服务器:tomcat7,jetty 远程tomcat运行
要求远程服务器的tomcat下的webapps目录下有manager,host-manager项目,并tomcat处于运行状态;配置用户名密码,角色:
位置:Tomcat>>conf>>tomcat-users.xml
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
位置:Pom.xml
<plugin>
<groupId>org.apache.tomcat.maven
</groupId>
<artifactId>tomcat7-maven-plugin
</artifactId>
<version>2.2
</version>
<configuration>
<url>http://localhost:8080/manager/text
</url>
<username>admin
</username>
<password>admin
</password>
<port>8080
</port>
<path>/1128ssm2
</path>
<charset>UTF-8
</charset>
</configuration>
</plugin>
ssm整合pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0
</modelVersion>
<groupId>com.javasm
</groupId>
<artifactId>0812maven
</artifactId>
<version>1.0-SNAPSHOT
</version>
<packaging>war
</packaging>
<properties>
<project.build.sourceEncoding>UTF-8
</project.build.sourceEncoding>
<maven.compiler.source>1.8
</maven.compiler.source>
<maven.compiler.target>1.8
</maven.compiler.target>
<spring.version>5.2.8.RELEASE
</spring.version>
<log4j.version>2.12.1
</log4j.version>
<jjwt.version>0.11.2
</jjwt.version>
<jaskson.version>2.11.0
</jaskson.version>
<fileupload.version>1.3.3
</fileupload.version>
<beanutils.version>1.9.3
</beanutils.version>
<fastjson.version>1.2.72
</fastjson.version>
<aspectj.version>1.9.5
</aspectj.version>
<mysql.connector.version>8.0.16
</mysql.connector.version>
<mybatis.version>3.5.3
</mybatis.version>
<mybatis.spring.version>1.3.2
</mybatis.spring.version>
</properties>
<dependencies>
<dependency>
<groupId>commons-fileupload
</groupId>
<artifactId>commons-fileupload
</artifactId>
<version>${fileupload.version}
</version>
</dependency>
<dependency>
<groupId>commons-beanutils
</groupId>
<artifactId>commons-beanutils
</artifactId>
<version>${beanutils.version}
</version>
</dependency>
<dependency>
<groupId>org.springframework
</groupId>
<artifactId>spring-webmvc
</artifactId>
<version>${spring.version}
</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core
</groupId>
<artifactId>jackson-databind
</artifactId>
<version>${jaskson.version}
</version>
</dependency>
<dependency>
<groupId>com.alibaba
</groupId>
<artifactId>fastjson
</artifactId>
<version>${fastjson.version}
</version>
</dependency>
<dependency>
<groupId>org.springframework
</groupId>
<artifactId>spring-aspects
</artifactId>
<version>${spring.version}
</version>
</dependency>
<dependency>
<groupId>org.aspectj
</groupId>
<artifactId>aspectjweaver
</artifactId>
<version>${aspectj.version}
</version>
</dependency>
<dependency>
<groupId>org.aspectj
</groupId>
<artifactId>aspectjrt
</artifactId>
<version>${aspectj.version}
</version>
</dependency>
<dependency>
<groupId>aopalliance
</groupId>
<artifactId>aopalliance
</artifactId>
<version>1.0
</version>
</dependency>
<dependency>
<groupId>cglib
</groupId>
<artifactId>cglib
</artifactId>
<version>3.3.0
</version>
</dependency>
<dependency>
<groupId>mysql
</groupId>
<artifactId>mysql-connector-java
</artifactId>
<version>${mysql.connector.version}
</version>
</dependency>
<dependency>
<groupId>com.alibaba
</groupId>
<artifactId>druid
</artifactId>
<version>1.1.22
</version>
</dependency>
<dependency>
<groupId>org.mybatis
</groupId>
<artifactId>mybatis
</artifactId>
<version>${mybatis.version}
</version>
</dependency>
<dependency>
<groupId>org.mybatis
</groupId>
<artifactId>mybatis-spring
</artifactId>
<version>${mybatis.spring.version}
</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper
</groupId>
<artifactId>pagehelper
</artifactId>
<version>5.1.10
</version>
</dependency>
<dependency>
<groupId>org.springframework
</groupId>
<artifactId>spring-jdbc
</artifactId>
<version>${spring.version}
</version>
</dependency>
<dependency>
<groupId>redis.clients
</groupId>
<artifactId>jedis
</artifactId>
<version>3.2.0
</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j
</groupId>
<artifactId>log4j-web
</artifactId>
<version>${log4j.version}
</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j
</groupId>
<artifactId>log4j-slf4j-impl
</artifactId>
<version>${log4j.version}
</version>
<scope>compile
</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken
</groupId>
<artifactId>jjwt
</artifactId>
<version>0.9.1
</version>
</dependency>
<dependency>
<groupId>javax.servlet
</groupId>
<artifactId>javax.servlet-api
</artifactId>
<version>3.1.0
</version>
<scope>provided
</scope>
</dependency>
<dependency>
<groupId>junit
</groupId>
<artifactId>junit
</artifactId>
<version>4.12
</version>
<scope>test
</scope>
</dependency>
<dependency>
<groupId>org.springframework
</groupId>
<artifactId>spring-test
</artifactId>
<version>${spring.version}
</version>
<scope>test
</scope>
</dependency>
</dependencies>
<build>
<finalName>0812ssm
</finalName>
<plugins>
<plugin>
<groupId>org.mybatis.generator
</groupId>
<artifactId>mybatis-generator-maven-plugin
</artifactId>
<version>1.3.2
</version>
<dependencies>
<dependency>
<groupId>mysql
</groupId>
<artifactId>mysql-connector-java
</artifactId>
<version>5.1.34
</version>
</dependency>
</dependencies>
<configuration>
<overwrite>true
</overwrite>
<configurationFile>src/main/resources/generator.xml
</configurationFile>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java
</directory>
<includes>
<include>**/*.xml
</include>
</includes>
</resource>
<resource>
<directory>src/main/resources
</directory>
<includes>
<include>**/*
</include>
</includes>
</resource>
</resources>
</build>
</project>