对不必要的依赖依赖项的编译失败

时间:2016-10-07 12:18:00

标签: java eclipse

我正在尝试编译我的maven项目,我依赖于另一个项目(这是一个jar文件)。出于某种原因,当我尝试编译时,我得到以下错误,这似乎是我的项目无法访问我依赖的项目所需的依赖项,即使我不使用任何这些依赖项。

这是错误http://hastebin.com/pebolozuxi.sql

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/cneth/Desktop/Developing/PrimeMC/PrimeMobWhacker/src/main/java/org/primemc/MobWhackerManager.java:[315,34] cannot access tech.rayline.core.plugin.RedemptivePlugin
  class file for tech.rayline.core.plugin.RedemptivePlugin not found
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.892 s
[INFO] Finished at: 2016-10-07T14:56:20+03:00
[INFO] Final Memory: 25M/298M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project MobWhacker: Compilation failure
[ERROR] /C:/Users/cneth/Desktop/Developing/PrimeMC/PrimeMobWhacker/src/main/java/org/primemc/MobWhackerManager.java:[315,34] cannot access tech.rayline.core.plugin.RedemptivePlugin
[ERROR] class file for tech.rayline.core.plugin.RedemptivePlugin not found

我知道我可以很容易地依赖所需的依赖来解决问题,但是我不明白为什么这是必要的,所以如果可能的话,我希望在不采取这种方式的情况下解决这个问题。

谢谢!

4 个答案:

答案 0 :(得分:2)

这与Maven无关。 java编译器需要该类。事实上,MobWhackerManager.java:[315,34]想要那个班级。行号就在那里。您的代码在第315行以某种方式引用该类。

答案 1 :(得分:0)

答案 2 :(得分:0)

您的错误表明编译器错过了类tech.rayline.core.plugin.RedemptivePlugin

所以你可能需要将这个类的jar添加到你的Maven依赖项中。

答案 3 :(得分:0)

从上次评论中我了解到你需要包含RedemptivePlugin的jar,所以你必须保留它。在最坏的情况下,请使用正确的版本手动下载并使用正确的路径将其放入.m2中

以前的衣服
Juste能够提供帮助:
您是否在 .m2 中检查了所需罐子的存在? 您是否已检查项目的完整依赖关系以确定您不需要包含类tech.rayline.core.plugin.RedemptivePlugin的jar。

如果您确定,请尝试:

<dependencies>
    <dependency>
      <groupId>The Project Jar That Links You To RedemptivePlugin Jar</groupId>
      <artifactId>Project</artifactId>
      <version>TheVersion</version>
      <exclusions>
        <exclusion>
          <groupId>The Jar containing RedemptivePlugin</groupId>
          <artifactId>theJar</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>