Java Maven项目定义的存储库不起作用

Java Maven项目定义的存储库不起作用,java,maven,repository,Java,Maven,Repository,已解决 另外,因为我现在没有足够的声誉来回答我自己的问题,所以我在问题中提出了解决方案 我刚开始在android项目中使用Maven。我使用一个名为libgdx的游戏引擎,它不在中央回购中,所以我必须自己安装它 检查说明后,我使用这种方法。。 我在根pom.xml中添加了下面定义的xml代码 <repositories> <repository> <id>my-local-repo</id> <url>file://${base

已解决 另外,因为我现在没有足够的声誉来回答我自己的问题,所以我在问题中提出了解决方案

我刚开始在android项目中使用Maven。我使用一个名为libgdx的游戏引擎,它不在中央回购中,所以我必须自己安装它

检查说明后,我使用这种方法。。 我在根pom.xml中添加了下面定义的xml代码

<repositories>
<repository>
  <id>my-local-repo</id>
  <url>file://${basedir}/common/repo</url>
</repository>
</repositories>

我的本地回购协议
文件://${basedir}/common/repo
并使用该答案中的方法成功安装所需的jar文件。然而,当我执行命令
mvn install
mvn-o install
时,它仍然告诉我找不到jar文件。我不确定我在root pom.xml中添加的存储库是否正常工作。
有谁能告诉我我在哪里犯了错误,以及如何检查项目定义的存储库是否正常工作?多谢各位

感谢死亡,我明白了,这是我愚蠢的过错

在我的项目中,我有3个模块。常见的android和桌面。我使用common/repo dir作为我的存储库。这就是我开始使用Maven的原因。我所做的一切都是正确的,除了两个错误

1.将存储库代码放在根pom.xml中,而不是放在android目录中的pom.xml中。我只是认为它会起作用,但事实并非如此

2.如果我把代码放在正确的目录中,我应该修改url,basedir被更改

这节课花了我3个小时~

  • 运行mvn帮助:有效的pom

  • 查看
    部分,找到您的
    我的本地回购
    并查找其实际路径(不包括文件://prefix)

  • 运行此命令(从您自己找到的链接)
    mvn org.apache.maven.plugins:maven安装插件:2.3.1:install file-Dfile=/path/to/your.jar-DgroupId=yourGroup-DartifactId=yourArtifactId-Dversion=1.0-dpackage=jar-DlocalRepositoryPath=您查找的路径\不包括\文件:///code>

  • 如果(3)产生错误,请将其发布到此处,如果没有-请确保您查找的路径文件夹包含一个子文件夹结构
    grp/yourArtifactId/1.0/
    ,其中包含
    your.jar

  • 毕竟,您的项目必须能够找到具有此定义的依赖项

    <dependency>
        <groupId>grp</groupId>
        <artifactId>yourArtifactId</artifactId>
        <version>1.0</version>
    </dependency>
    
    
    玻璃钢
    你的人工制品
    1
    

  • 我同意Oleg的回答,但如果在他完成所有步骤后问题仍然存在,请检查您的global settings.xml文件以了解标记的可能用法

    镜像设置始终指向同一个repo,并忽略您可能在项目中定义的任何repo

    e、 g.您的pom.xml

    <repositories>
        <repository>
            <id>project.local</id>
            <name>project</name>
            <url>file://${project.basedir}/repo</url>
        </repository>
    </repositories>
    
    
    项目.本地
    项目
    文件://${project.basedir}/repo
    
    确保您的
    \.m2\settings.xml
    忽略它

    <mirrors>
        <mirror>
            <id>central</id>
            <name>Central</name>
            <url>http://my.nexus.ip/nexus/content/repositories/central/</url>
            <mirrorOf>!project.local,*</mirrorOf>
        </mirror>
    </mirrors>
    
    
    中心的
    中心的
    http://my.nexus.ip/nexus/content/repositories/central/
    !project.local*
    
    在将jar文件安装到本地repo后,您是否检查了它是否真的出现在repo中?谢谢,我刚刚找到了它。我需要从镜像中排除我试图使用的本地存储库--您可以通过将“!your repo id”添加到全面镜像中来实现这一点。换句话说!您的回购id,*这是解决我问题的唯一有效方法。