【问题标题】:spring tool suite : missing dependencies after upgrading to spring boot 1.4.0spring 工具套件:升级到 spring boot 1.4.0 后缺少依赖项
【发布时间】:2017-01-13 20:53:19
【问题描述】:

我已将 Spring Boot 版本从 1.3.2 升级到 1.4.0,以便能够在单元测试中使用 @MockBean 注释来模拟我的 bean,但由于我仍然有“导入 无法解析为类型 编译”错误遍布我的项目,但是我已经从 eclipse 更新了 maven 项目依赖项并从文件系统中删除了存储库文件夹并允许 maven 重新下载它但徒劳无功。

顺便说一句,我可以从命令行 maven 命令“mvn clean install”清理和安装项目。

有什么想法吗?


编辑

我已将 spring cloud 依赖版本从 Brixton.BUILD-SNAPSHOT 更改为 Brixton.SR5,这解决了云导入和 @EnableDiscoveryClient 注释的问题,但我仍然遇到依赖问题

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

我有以下错误

1-CoreException: Could not get the value for parameter compilerId for plugin execution default-compile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could not be resolved: Failed to collect dependencies at org.apache.maven.plugins:maven-compiler-plugin:jar:3.1 -> org.apache.maven.shared:maven-shared-incremental:jar:1.1 -> org.apache.maven:maven-core:jar:2.2.1 -> org.apache.maven:maven-repository-metadata:jar:2.2.1: ArtifactDescriptorException: Failed to read artifact descriptor for org.apache.maven:maven-repository-metadata:jar:2.2.1: ArtifactResolutionException: Failure to transfer org.apache.maven:maven-repository-metadata:pom:2.2.1 from https://repo.maven.apache.org/maven2 was cached in the local 1-repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-repository-metadata:pom:2.2.1 from/to central (https://repo.maven.apache.org/maven2): timeout

2-Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (execution: default-compile, phase: compile)

Failure to transfer org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.0.RELEASE from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.0.RELEASE from/to central (https://repo.maven.apache.org/maven2): timeout

3-org.eclipse.aether.transfer.ArtifactTransferException: Failure to transfer org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.0.RELEASE from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.0.RELEASE from/to central (https://repo.maven.apache.org/maven2): timeout
    at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:238)
    at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:585)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:503)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
    at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:205)
    at org.apache.maven.project.DefaultProjectBuilder.resolveDependencies(DefaultProjectBuilder.java:215)
    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:188)
    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:119)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.readMavenProject(MavenImpl.java:636)
    at org.eclipse.m2e.core.internal.project.registry.DefaultMavenDependencyResolver.resolveProjectDependencies(DefaultMavenDependencyResolver.java:63)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refreshPhase2(ProjectRegistryManager.java:529)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:491)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager$3.call(ProjectRegistryManager.java:1)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:495)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:350)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:297)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:398)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:345)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1351)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:342)
    at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

错误消息似乎表明这是一个超时问题,但是所有其他 jar 和依赖项都已下载,我的互联网连接非常好,并且我已经设法从 maven 命令行构建而没有编译错误。

【问题讨论】:

  • 您能否提供失败的确切导入?
  • 请检查原帖重新编辑。
  • 您是否尝试过“Maven -> 更新项目...”并检查“强制下载快照/版本”?这在许多情况下都有帮助。
  • 我有一个带有 pom 文件的父 maven 项目包含常见的依赖项和属性等等...通过显式更改此文件中的任何内容(即使是一个虚拟的东西)并保存 eclipse 已经重建了工作区并且标记中的所有编译器错误都消失了。
  • @MartinLippert 下次遇到此类问题时我会考虑使用此标志....谢谢:)

标签: spring-boot maven-3 spring-tool-suite spring-boot-maven-plugin


【解决方案1】:

仅基于个人经验:)

我有一个带有 pom 文件的父 maven 项目,其中包含常见的依赖项和属性等等...通过显式更改此文件中的任何内容(即使是一个虚拟的东西)并保存 eclipse 已经重建了工作区和所有编译器错误标记消失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-04
    • 2020-03-13
    • 1970-01-01
    • 2022-10-24
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多