同一父工程下引入子模块package时报错:找不到符号

问题遇到的现象和发生背景

我在父工工程cloud5-dmoe下包含

img


order-service引用user-service
服务启动运行正常,package时就说:找不到符号

img

order-service引用user-service的pom如下

<dependency>
            <groupId>com.jianpeigroupId>
            <artifactId>user-serviceartifactId>
            <version>1.0version>
        dependency>

user-service基本pom如下

    <modelVersion>4.0.0modelVersion>
    <parent>
        <groupId>com.jianpei.demogroupId>
        <artifactId>cloud-demo5artifactId>
        <version>1.0version>
    parent>

    <groupId>com.jianpeigroupId>
    <artifactId>user-serviceartifactId>
    <version>1.0version>

拯救下小菜狗吧,整不动了

在order-service中依赖user-service,user-service是打成jar包了吗?

你双击进入这个红色报错啊,跟着路径进去看代码,应该就是有问题。或者你单独启动编译order-service服务


<dependency>
            <groupId>com.jianpei<groupId>
            <artifactId>user-service<artifactId>
            <version>1.0<version>
<dependency>
    <modelVersion>4.0.0<modelVersion>
    <parent>
        <groupId>com.jianpei.demo<groupId>
        <artifactId>cloud-demo5<artifactId>
        <version>1.0<version>
    <parent>
 
    <groupId>com.jianpei<groupId>
    <artifactId>user-service<artifactId>
    <version>1.0<version>
 你右边的标签缺少左括号

应该是依赖没有引入

可能是jar包没有自动引入,镜像站中可能没有对应jar包的版本,改个镜像站拉下jar包

user-service如果有启动类的话,需要在user-service的pom.xml文件里配置build插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <finalName>user-service</finalName>
    </build>

order-service如果也有启动类的话,也需要在order-service的pom.xml文件里配置build插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <finalName>order-service</finalName>
    </build>

另外需特别注意:微服务架构中,order-service和user-service如果是相互独立的服务,理论上不能互相引用依赖,应该通过服务调用(feign)来实现。