本文已参与「新人创作礼」活动,一起开启掘金创作之路。
让Web工程依赖Java工程
观念
明确一个意识:从来只有Web工程依赖Java工程,没有Java工程反过来依赖Web工程。(war包里面放jar包,而不能jar包里面放war包)
本质上来说,Web工程依赖的Java工程其实就是Web工程里导入的jar包。最终Java工程会变成jar包,放在Web工程的WEB-INF/lib目录下。
操作
在对应Web工程的pom.xml中,找到dependencies标签,在dependencies标签中做如下配置:
<!-- 配置Java工程对pro01-maven-java的依赖 -->
<!-- 具体的配置方式:在dependency标签内使用坐标实现依赖 -->
<dependency>
<groupId>com.atguigu.maven</groupId>
<artifactId>pro01-maven-java</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
👆其中scope标签可写可不写,compile就是其默认值
在Web工程中,编写测试代码
①补充创建目录
pro02-maven-web\sec\test\java\com\atguigu\maven
②确认Web工程依赖了junit
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
③创建测试类
把Java工程的CalculatorTest.java类复制到pro02-maven-web\sec\test\java\com\atguigu\maven目录下
执行maven命令
①测试命令
mvn test
说明:测试操作中会提前自动执行编译操作,测试成功就说明编译也是成功的
②打包命令
mvn package
通过查看war包内的结构,我们看到被Web工程依赖的Java工程确实是会编程Web工程下的WEB-INF/lib目录下的jar包
③查看当前Web工程所依赖的jar包的列表
mvn dependency:list
mvn dependency:tree//以树形结构列出
坐标格式:groupId:artifactId:打包方式:version:依赖的范围
这样的格式虽然和我们XML配置文件中坐标的格式不同,但是本质上还是坐标信息,大家还是需要能够认识这样的格式,将来从maven命令的日志或错误信息中看到这样格式的信息,就能够识别出来这是坐标。进而根据坐标到maven仓库找到对应的jar包,用这样的方式解决我们遇到的报错的情况。