这里写自定义目录标题
- 一 maven中运行Java项目
- 1.新建项目
- 2. 运行项目
- 2.1查看当前目录
- 2.2 编译项目
- 2.3测试当前项目
- 2.4 生成jar包
- 2.5 迁移数据位置
- 二 MAVEN中执行Web项目
- 1.配置项目
- 1.1 配置 web.html
- 1.2 配置index.jsp
- 1.3 注册servlet
- 1.4 直接编译运行,发现配置失败
- 1.5 推荐jar包查找网站
- 1.6 编译成功
- 1.7打包操作
- 2. 让war包放在tomcat上跑起来
- 2.1 war 包复制到 Tomcat/webapps 目录下
- 2.2 启动tomcat
- 2.3 验证效果
一 maven中运行Java项目
1.新建项目
main目录下
D:\maven_workspace\spaceVideo\pro01-maven-java\src\main\java\com\xyt\maven
package com.xyt.maven;
public class Calculator {
public int sum(int i, int j){
return i + j;
}
}
test目录下
D:\maven_workspace\spaceVideo\pro01-maven-java\src\test\java\com\xyt\maven
package com.xyt.maven;
import org.junit.Test;
import com.xyt.maven.Calculator;
// 静态导入的效果是将Assert类中的静态资源导入当前类
// 这样一来,在当前类中就可以直接使用Assert类中的静态资源,不需要写类名
import static org.junit.Assert.*;
public class CalculatorTest{
@Test
public void testSum(){
// 1.创建Calculator对象
Calculator calculator = new Calculator();
// 2.调用Calculator对象的方法,获取到程序运行实际的结果
int actualResult = calculator.sum(5, 3);
// 3.声明一个变量,表示程序运行期待的结果
int expectedResult = 8;
// 4.使用断言来判断实际结果和期待结果是否一致
// 如果一致:测试通过,不会抛出异常
// 如果不一致:抛出异常,测试失败
assertEquals(expectedResult, actualResult);
}
}
构建相关的命令,要在pom.xml目录下运行,操作哪个工程,就进入哪个工程的pom.xml
2. 运行项目
2.1查看当前目录
D:\maven_workspace\spaceVideo>dir
驱动器 D 中的卷是 新加卷
卷的序列号是 D4AF-9C80
D:\maven_workspace\spaceVideo 的目录
2023/05/04 12:06 <DIR> .
2023/05/04 11:38 <DIR> ..
2023/05/04 12:06 <DIR> pro01-maven-java
0 个文件 0 字节
3 个目录 118,766,297,088 可用字节
2.2 编译项目
编写main
D:\maven_workspace\spaceVideo>cd pro01-maven-java
D:\maven_workspace\spaceVideo\pro01-maven-java>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro01-maven-java >-------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
主体程序编译结果存放的目录:target/classes
编写test目录下
编写成功
D:\maven_workspace\spaceVideo\pro01-maven-java>mvn test-compile
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro01-maven-java >-------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- resources:3.3.0:resources (default-resources) @ pro01-maven-java ---
[INFO] skip non existing resourceDirectory D:\maven_workspace\spaceVideo\pro01-maven-java\src\main\resources
[INFO]
[INFO] --- compiler:3.10.1:compile (default-compile) @ pro01-maven-java ---
[INFO] Nothing to compile - all classes are up to date
测试程序编译结果存放的目录:target/test-classes
2.3测试当前项目
mvn test
[INFO] Running com.xyt.maven.CalculatorTest
输出测试的程序代码
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 s - in com.xyt.maven.CalculatorTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.463 s
[INFO] Finished at: 2023-05-04T14:41:58+08:00
[INFO] ------------------------------------------------------------------------
测试报告,放在这个目录里面
2.4 生成jar包
D:\maven_workspace\spaceVideo\pro01-maven-java>mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro01-maven-java >-------------------
[INFO] Building pro01-maven-java 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] Building jar: D:\maven_workspace\spaceVideo\pro01-maven-java\target\pro01-maven-java-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.694 s
[INFO] Finished at: 2023-05-04T14:49:04+08:00
[INFO] ------------------------------------------------------------------------
问题:没有下到指定仓库,而是跑到默认仓库里面去了
2.5 迁移数据位置
[INFO] Installing D:\maven_workspace\spaceVideo\pro01-maven-java\pom.xml to C:\Users\20120\.m2\repository\com\xyt\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.pom
[INFO] Installing D:\maven_workspace\spaceVideo\pro01-maven-java\target\pro01-maven-java-1.0-SNAPSHOT.jar to C:\Users\20120\.m2\repository\com\xyt\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
确实被迁移到指定目录下了
安装的效果是将本地构建过程中生成的 jar 包存入 Maven 本地仓库。这个 jar 包在 Maven 仓库中的路径是根据它的坐标生成的
二 MAVEN中执行Web项目
1.配置项目
1.1 配置 web.html
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.xyt.maven.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
</web-app>
1.2 配置index.jsp
<html>
<body>
<h2>Hello World!</h2>
<a href="helloServlet">Access Servlet</a>
</body>
</html>
1.3 注册servlet
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.atguigu.maven.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
1.4 直接编译运行,发现配置失败
D:\maven_workspace\spaceVideo>mvn compile
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.060 s
原因:
缺少依赖jar包
1.5 推荐jar包查找网站
https://mvnrepository.com/
1.6 编译成功
D:\maven_workspace\spaceVideo\pro02-maven-web>mvn clean compile
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
1.7打包操作
D:\maven_workspace\spaceVideo\pro02-maven-web>mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.xyt.maven:pro02-maven-web >--------------------
[INFO] Building pro02-maven-web Maven Webapp 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ war ]---------------------------------