Spring Kotlin编译错误“;未解析引用“;用于多模块项目

Spring Kotlin编译错误“;未解析引用“;用于多模块项目,spring,maven,kotlin,Spring,Maven,Kotlin,我有多模块结构的spring boot应用程序 first-module: - services: - interfaces.kt second-module: ... 第二个模块具有spring引导应用程序 @SpringBootApplication class Application { companion object { @JvmStatic fun main(args: Array<String>) {

我有多模块结构的spring boot应用程序

first-module:
 - services:
     - interfaces.kt


second-module:
...
第二个模块具有spring引导应用程序

@SpringBootApplication
class Application {
    companion object {
        @JvmStatic
        fun main(args: Array<String>) {
            SpringApplicationBuilder(Application::class.java)
                    .initializers(ConfigServerInitializer.create())
                    .run(*args)
        }
    }
}
我真的不明白为什么我会有这样的编译问题

另外,我还有下一个pom插件

  • 第一模块
  • 
    kotlin maven插件
    org.jetbrains.kotlin
    ${kotlin.version}
    无arg
    org.jetbrains.kotlin
    科特林·马文·诺格
    ${kotlin.version}
    
  • 第二模块
  • 
    org.jetbrains.kotlin
    kotlin maven插件
    ${kotlin.version}
    春天
    编译
    编译
    编译
    ${project.basedir}/src/main/kotlin
    ${project.basedir}/src/main/java
    测试编译
    测试编译
    测试编译
    ${project.basedir}/src/test/kotlin
    ${project.basedir}/src/test/java
    org.jetbrains.kotlin
    科特林·马文·阿洛彭
    ${kotlin.version}
    org.apache.maven.plugins
    maven编译器插件
    默认编译
    没有一个
    默认测试编译
    没有一个
    java编译
    编译
    编译
    org.apache.maven.plugins
    maven surefire插件
    ${maven surefire plugin.version}
    **/*它*
    **/*测试*
    
  • 普通聚甲醛
  • 
    org.jetbrains.kotlin
    科特林标准数据库公用
    ${kotlin.version}
    org.jetbrains.kotlin
    科特林反射
    ${kotlin.version}
    org.jetbrains.kotlin
    科特林·马文·阿洛彭
    ${kotlin.version}
    org.jetbrains.kotlin
    科特林标准实验室
    org.jetbrains.kotlin
    科特林·马文·诺格
    ${kotlin.version}
    org.jetbrains.kotlin
    科特林标准实验室
    org.apache.maven.plugins
    maven编译器插件
    默认编译
    没有一个
    默认测试编译
    没有一个
    java编译
    编译
    编译
    

    这里怎么了?

    我创建了多个使用多模块结构的项目,但这一个有点独特;因为其中一个子模块只持有后来由另一个子模块使用的服务

    中定义了类似的场景

    我花了一些时间创建了这个,它创建了您想要的多模块结构

    first-module:
     - services:
         - interfaces.kt
    
    
    second-module:
    ...
    
    如果你有任何问题,请看一看并告诉我

    <build>
            <plugins>
                <plugin>
                    <artifactId>kotlin-maven-plugin</artifactId>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <version>${kotlin.version}</version>
    
                    <configuration>
                        <compilerPlugins>
                            <plugin>no-arg</plugin>
                        </compilerPlugins>
                    </configuration>
    
                    <dependencies>
                        <dependency>
                            <groupId>org.jetbrains.kotlin</groupId>
                            <artifactId>kotlin-maven-noarg</artifactId>
                            <version>${kotlin.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    
    <build>
            <plugins>
                <plugin>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-plugin</artifactId>
                    <version>${kotlin.version}</version>
    
                    <configuration>
                        <compilerPlugins>
                            <plugin>spring</plugin>
                        </compilerPlugins>
                    </configuration>
    
                    <executions>
                        <execution>
                            <id>compile</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>compile</goal>
                            </goals>
    
                            <configuration>
                                <sourceDirs>
                                    <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
                                    <sourceDir>${project.basedir}/src/main/java</sourceDir>
                                </sourceDirs>
                            </configuration>
                        </execution>
    
                        <execution>
                            <id>test-compile</id>
                            <phase>test-compile</phase>
                            <goals>
                                <goal>test-compile</goal>
                            </goals>
    
                            <configuration>
                                <sourceDirs>
                                    <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
                                    <sourceDir>${project.basedir}/src/test/java</sourceDir>
                                </sourceDirs>
                            </configuration>
                        </execution>
                    </executions>
    
                    <dependencies>
                        <dependency>
                            <groupId>org.jetbrains.kotlin</groupId>
                            <artifactId>kotlin-maven-allopen</artifactId>
                            <version>${kotlin.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
    
                    <executions>
                        <execution>
                            <id>default-compile</id>
                            <phase>none</phase>
                        </execution>
    
                        <execution>
                            <id>default-testCompile</id>
                            <phase>none</phase>
                        </execution>
    
                        <execution>
                            <id>java-compile</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
    
                    <configuration>
                        <includes>
                            <include>**/*IT.*</include>
                            <include>**/*Test.*</include>
                        </includes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-stdlib-common</artifactId>
                <version>${kotlin.version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-reflect</artifactId>
                <version>${kotlin.version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-allopen</artifactId>
                <version>${kotlin.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-stdlib</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-noarg</artifactId>
                <version>${kotlin.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-stdlib</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
    
                    <executions>
                        <execution>
                            <id>default-compile</id>
                            <phase>none</phase>
                        </execution>
    
                        <execution>
                            <id>default-testCompile</id>
                            <phase>none</phase>
                        </execution>
    
                        <execution>
                            <id>java-compile</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>