IDEA spring boot项目引用其他模块定义的包,类
创建一个项目:
右击项目,新建-module 创建module(c1,c2):
目的:在c2中引入c1的包:
在c1中新建包entity,并创建一个常见的User类:
c2中创建测试类:
在c2依赖中添加c1依赖
reimport一下:
编写测试类:
package com.c2.demo.test;
import com.c1.demo.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserTest {
@Test
public void HelloWord(){
System.out.println("hello word");
User user=new User();
user.setUsername("zhangsan");
System.out.println("test :"+user.getUsername());
}
}
运行:
报错:
Could not resolve dependencies for project com.c2:c2:jar:0.0.1-SNAPSHOT: Could not find artifact com.c1:c1:jar:0.0.1-SNAPSHOT -> [Help 1]
将c1 :compile package install 一下
提示:Error:(3,26) java: 程序包com.c1.demo.entity不存在
将c1中的插件删除 reimport一下(一定要删除,否则生成的jar文件默认不可依赖,只能java -jar 运行):
从新complie package install 一下
运行成功
但是总有意外的,可能还没导入,可以重启一下
如果还是不行 覆盖一下:
运行
最后还是不成功:
复制c1生成包绝对路径 手动install
cmd运行:
mvn install:install-file -Dfile=C:\project\study\dubbo03\c1\target\c1-0.0.1-SNAPSHOT.jar -DgroupId=com.c1 -DartifactId=c1 -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
对比:
<dependency>
<groupId>com.c1</groupId>
<artifactId>c1</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
reimport一下,运行即可成功