【问题标题】:Maven can't find packageMaven找不到包
【发布时间】:2020-12-30 03:37:13
【问题描述】:

我正在用 maven 开发一个项目,我创建了 2 个模块,一个用于实体 这里是 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.fakenews.commons</groupId>
    <artifactId>fakenewsCommons</artifactId>
    <version>0.0.4-SNAPSHOT</version>
    <name>fakenewsCommons</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>11</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

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

</project>

另一个模块通过 pom 中的依赖项使用这个模块

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.fakenews.scraper.api</groupId>
    <artifactId>fakenewsScraperApi</artifactId>
    <version>0.0.4-SNAPSHOT</version>
    <name>fakenewsScraperApi</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>11</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fakenews.commons</groupId>
            <artifactId>fakenewsCommons</artifactId>
            <version>0.0.4-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

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

</project>

我已经用实体编译了第一个模块

mvn 全新安装

我已经证实:

  1. .jar 已在文件夹 ~/.m2/repository/com/fakenews/commons/fakenewsCommons/0.0.4-SNAPSHOT 中创建

  1. 我已反编译 jar 以检查类是否存在

但是当我用

编译主模块时

mvn 全新安装

maven 找不到包。

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[3,55] package com.fakenews.commons.fakenewsCommons.models.dao does not exist

这里是输出

mvn 全新安装 -e

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------< com.fakenews.scraper.api:fakenewsScraperApi >-------------
[INFO] Building fakenewsScraperApi 0.0.4-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ fakenewsScraperApi ---
[INFO] Deleting /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/target
[INFO] 
[INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ fakenewsScraperApi ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ fakenewsScraperApi ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[3,55] package com.fakenews.commons.fakenewsCommons.models.dao does not exist
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[4,58] package com.fakenews.commons.fakenewsCommons.models.entity does not exist
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[3,58] package com.fakenews.commons.fakenewsCommons.models.entity does not exist
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[14,5] cannot find symbol
  symbol:   class NewRepository
  location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[18,17] cannot find symbol
  symbol:   class New
  location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[24,12] cannot find symbol
  symbol:   class New
  location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[30,21] cannot find symbol
  symbol:   class New
  location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[30,12] cannot find symbol
  symbol:   class New
  location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[8,17] cannot find symbol
  symbol:   class New
  location: interface com.fakenews.scraper.api.fakenewsScraperApi.service.INewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[9,12] cannot find symbol
  symbol:   class New
  location: interface com.fakenews.scraper.api.fakenewsScraperApi.service.INewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[10,21] cannot find symbol
  symbol:   class New
  location: interface com.fakenews.scraper.api.fakenewsScraperApi.service.INewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[10,12] cannot find symbol
  symbol:   class New
  location: interface com.fakenews.scraper.api.fakenewsScraperApi.service.INewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/controllers/NewController.java:[19,17] cannot find symbol
  symbol:   class New
  location: class com.fakenews.scraper.api.fakenewsScraperApi.controllers.NewController
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/controllers/NewController.java:[27,12] cannot find symbol
  symbol:   class New
  location: class com.fakenews.scraper.api.fakenewsScraperApi.controllers.NewController
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/controllers/NewController.java:[3,1] package com.fakenews.commons.fakenewsCommons.models.entity does not exist
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[19,22] cannot find symbol
  symbol:   class New
  location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/controllers/NewController.java:[28,9] cannot find symbol
  symbol:   class New
  location: class com.fakenews.scraper.api.fakenewsScraperApi.controllers.NewController
[INFO] 17 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.586 s
[INFO] Finished at: 2020-09-11T17:23:36+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project fakenewsScraperApi: Compilation failure: Compilation failure: 
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[3,55] package com.fakenews.commons.fakenewsCommons.models.dao does not exist
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[4,58] package com.fakenews.commons.fakenewsCommons.models.entity does not exist
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[3,58] package com.fakenews.commons.fakenewsCommons.models.entity does not exist
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[14,5] cannot find symbol
[ERROR]   symbol:   class NewRepository
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[18,17] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[24,12] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[30,21] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[30,12] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[8,17] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: interface com.fakenews.scraper.api.fakenewsScraperApi.service.INewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[9,12] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: interface com.fakenews.scraper.api.fakenewsScraperApi.service.INewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[10,21] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: interface com.fakenews.scraper.api.fakenewsScraperApi.service.INewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/INewService.java:[10,12] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: interface com.fakenews.scraper.api.fakenewsScraperApi.service.INewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/controllers/NewController.java:[19,17] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.controllers.NewController
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/controllers/NewController.java:[27,12] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.controllers.NewController
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/controllers/NewController.java:[3,1] package com.fakenews.commons.fakenewsCommons.models.entity does not exist
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/service/NewService.java:[19,22] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.service.NewService
[ERROR] /Users/asax/Documents/workspace-fake-news/fakenewsScraperApi/src/main/java/com/fakenews/scraper/api/fakenewsScraperApi/controllers/NewController.java:[28,9] cannot find symbol
[ERROR]   symbol:   class New
[ERROR]   location: class com.fakenews.scraper.api.fakenewsScraperApi.controllers.NewController
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project fakenewsScraperApi: Compilation failure
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:39)
    at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:122)
    at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:61)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1220)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:187)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:39)
    at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:122)
    at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:61)
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

我用的是 IntelliJ 和 IntelliJ 的 maven 模块 省略了 Spring-boot-starter-jpa ,不知道是否正常。

【问题讨论】:

  • 你是说你已经检查了本地 repo 中的 jar 并且版本是 0.0.4-SNAPSHOT 但是你提到的 commons pom 有 0.0.3-SNAPHOST 作为版本,这是一个错字吗?
  • 是的,对不起,那是因为我试图回到版本 3,但它是正确的,pom.xml 在版本 0.0.4-SNAPSHOT,我已经编辑了票证
  • 删除.m2文件夹一次,然后重新安装通用模块,IDE是否也显示错误?
  • 另外,在这个问题上检查这个comment。,你可能有同样的问题。
  • 我删除了 .m2 文件夹,但问题仍然存在。我用的是 IntelliJ ,用它编译的时候还是一样的错误。

标签: java spring maven


【解决方案1】:

我的解决方案在这里: https://www.baeldung.com/spring-boot-dependency

或者你可以删除

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

在spring-boot项目上作为依赖

【讨论】:

  • 这对我有用!事实上,我的一个依赖项确实能够运行 Spring Boot 应用程序,因此在添加 exec 依赖项目之后,上面提到的插件将我所有的依赖类放入 BOOT-INF/似乎编译正确
【解决方案2】:

AFAIK,如果您使用父 spring-boot-starter-parent 构建 jar,则不能将其用作依赖项。

【讨论】:

  • 这是可能的,我们正在项目中使用它。
  • 谢谢@code_mechanic,我很确定这是可能的,但感谢您的确认
  • 不,我之前错了,@j-fabian-meier 是对的,我完全错过了,在我们的项目中我们跳过了 spring-boot 正常打包,将其打包为普通 jar。跨度>
【解决方案3】:

IMO,问题来自你的父 pom,你应该创建一个类似的项目结构

application => pom.xml
- common => pom.xml
- API => pom.xml
  1. application => pom.xml 封装 pom,添加模块 common,api。您可以添加一个父级来扩展弹簧靴。不要忘记添加dependencyManagement
  2. common => pom.xml 包 jar,父级 = 应用程序。您可以添加用于常见的依赖项
  3. API => pom.xml 包 jar,父级 = 应用程序。您可以在此处添加 spring JPA 依赖项 然后命令你像你所做的一样成为一个共享库

【讨论】:

    【解决方案4】:

    如果你创建一个父 pom.xml 并将 commons 项目添加为一个模块会更好。 所以可以使用父pom中的公共依赖,模块也可以使用。

    【讨论】:

    • 感谢您的意见,但我想做一个微服务架构。这就是为什么不值得创建多模块单体
    猜你喜欢
    • 2021-02-14
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    相关资源
    最近更新 更多