Java Maven多模块版本控制-包不存在

Java Maven多模块版本控制-包不存在,java,spring,maven,Java,Spring,Maven,目前正在尝试创建一个多模块项目,其中ProjectMaster作为父POM,ProjectAPI和ProjectUI作为其模块 我在ProjectAPI中创建了一个类来生成一个键,将其传递给ProjectUI package com.ext.sample.ProjectAPI.util; public class KeyGen { public KeyGenData keyData; @Autowired public KeyGen (KeyGenData keyD

目前正在尝试创建一个多模块项目,其中ProjectMaster作为父POM,ProjectAPI和ProjectUI作为其模块

我在ProjectAPI中创建了一个类来生成一个键,将其传递给ProjectUI

package com.ext.sample.ProjectAPI.util;

public class KeyGen {

    public KeyGenData keyData;

    @Autowired
    public KeyGen (KeyGenData keyData) {
        this.keyData= keyData;
    }

    public String KeyGenerator() {
        // key gen code
    }
}
现在,我已经将API的信息传递给了UI的POM

API POM

    <groupId>com.ext.sample</groupId>
    <artifactId>ProjectAPI</artifactId>
    <packaging>jar</packaging>
    <version>1.0</version>
<!-- Project dependencies -->
        <dependency>
            <groupId>com.ext.sample</groupId>
            <artifactId>ProjectAPI</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

感谢您提供的任何帮助。

您的版本控制已被破坏。当用户界面尝试使用1.0-SNAPSHOT时,API的版本为1.0。如果此工件甚至存在(来自prevoius的尝试),则它根本不会更新


常见的解决方案是在父pom中定义一个项目版本,而不在子项目中定义任何版本,从而继承父项目版本。

您确实意识到1.0和1.0-SNAPSHOT不一样,对吗?
com/ext/sample/ProjectUI/web/HomeController.java:[11,27] package com.ext.sample.ProjectAPI.util does not exist
com/ext/sample/ProjectUI/web/HomeController.java:[73,16] cannot find symbol
  symbol:   class KeyGen
  location: class com.ext.sample.ProjectUI.web.HomeController
import com.ext.sample.ProjectAPI.util.KeyGen;

@Controller
public class HomeController {
   public KeyGen kg;

    @RequestMapping(value = "/getKey", method = RequestMethod.POST)
    public String getKey() {
        String key = kg.KeyGenerator();

        return key;
    }