【发布时间】: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 全新安装
我已经证实:
- .jar 已在文件夹 ~/.m2/repository/com/fakenews/commons/fakenewsCommons/0.0.4-SNAPSHOT 中创建
但是当我用
编译主模块时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 ,用它编译的时候还是一样的错误。