Maven无法找到另一个导入的Maven项目(Eclipse)

时间:2015-10-29 03:31:51

标签: java eclipse maven

我已多次这样做了。但由于某些原因,无论我尝试什么,使用Eclipse运行maven install都拒绝找到导入的项目。

  

/C:/Users/Tarrant/Desktop/Attributes/src/main/java/me/warren1001/attributes/Attributes.java:[10,31]   包me.warren1001.configapi不存在

直到上述Attributes.java文件的第22行。

package me.warren1001.attributes;

import java.util.Arrays;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import me.warren1001.configapi.Config;

public class Attributes {

    private Main plugin;

    private Config config;

    public Attributes(Main plugin) {
        this.plugin = plugin;
        config = new Config(plugin, "attributes.yml");
    }
    ...
}

显然,它无法初始化Config变量,这是我通过构建路径导入的插件 - >导入Jar(使用工作区)。

您可以清楚地看到它已在我的项目中导入。

这里是ConfigAPI项目的包...

package me.warren1001.configapi;

And here's an image of Eclipse's Project Explorer... showing everything is right with the world (apparently not)

似乎我错过了一些非常明显的东西,当有人指出它时我会觉得很愚蠢,但是我在过去的3个小时里一直试图解决这个问题但是没有用。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

不要通过Eclipse的“Build Path> Import Jar”为Maven项目添加jar。这会将jar添加到Eclipse使用的.classpath文件中,但Maven不会。

正确的方法是install包含Config的Maven项目,并将其作为POM中的依赖项添加。或者,如果您有ConfigAPI库,请将其上传到集中存储库。

确保您的依赖项目在项目属性中启用了“从Workspace项目中解析依赖项”。

如果您的依赖关系的POM坐标(<groupId><artifactId><version>)与您的POM匹配,则M2Eclipse-plugin将自动链接您的依赖关系,而无需安装依赖。但是,如果您有单独的发布周期,最终还是需要这样做。

如果一切正常,您应该看到ConfigAPI-1.2.0.jar列在“Maven依赖项”下,而不是在项目资源管理器中的项目下,它显示在屏幕截图中。