- 项目环境的创建:
原理:基于Ant的构建工具,比Ant功能高级。
运行原理图:
maven - 本地仓库 - 中央仓库
http://repo1.maven.org./maven2/
配置国内的阿里镜像:
在建立maven之前配置jdk版本一致。
|
<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> |
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> |
|
- 项目的创建和项目间的关系:
|
packaging:项目类型会最终打包成什么类型 jar:打包成java类型; war:打包成web类型; pom(project of Model):项目对象模型,把project当做对象看待。通过maven构建工具可以让对象之间产生关系。 可以有逻辑父对象,只要一个项目有子项目,一定是pom类型。 |
开发是在src/main/java的上边目录路径。 实际存储是在src main java下边的文件件。资源路径也是如此。
|
在该网址下载jar包。 自动下载所依赖的包。
|
只需在dependences中配置所依赖的版本名称即可。
父项目是看不到有哪些子项目的,但是在逻辑上具有父子关系。
前提必须是继承关系,父项目会把子项目包含到父项目当中去; 子项目的类型必须是Maven Module类型而不是maven 点住父项目,创建maven module子项目。
|
- war项目的创建:
1、必须有完成的web路径 |
- 创建war类型项目
- 创建maven project时选择packaging为war
- 在webapp文件夹下新建META-INF和WEB-INF/web.xml
- 在pom.xml中添加java ee相关的三个jar
3.1 <scope> jar有效范围 provided 表示编译期生效,不会打包发布到tomcat中
<dependencies> <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>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> |
- 配置tomcat插件
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- 控制tomcat端口号 --> <port>80</port> <!-- 项目发布到tomcat后的名称 --> <!-- / 相当于把项目发布名称为ROOT --> <!-- /abc --> <path>/</path> </configuration> </plugin> </plugins> </build> |
- 右键项目--> run as --> maven build-->Goals 中输入
clean tomcat7:run
- 资源拷贝插件
- maven默认只把src/main/resources里面的非.java文件进行编译到classes中
- 如果希望src/main/java下的文件也被编辑到classes中,在pom.xml中配置
2.1 下面内容配置在<build>中
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources> |
- 热部署
- 修改tomat/conf/tomcat-users.xml添加
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/> |
- 在maven项目的pom.xml中tomcat插件的<configuration>里配置
<plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <!-- 控制tomcat端口号 --> <port>80</port> <!-- 项目发布到tomcat后的名称 --> <!-- / 相当于把项目发布名称为ROOT --> <!-- /abc --> <path>/jqk</path> <username>tomcat</username> <password>tomcat</password> <url>http://192.168.139.128:8080/manager/text</url> </configuration> </plugin> </plugins> |
- 右键项目--> run as --> maven build(以前写过,选择第二个) -->输入
3.1 tomcat7:deploy 第一次发布
3.2 tomcat7:redeploy 不是第一次发布.