java - maven 在带有第三方库的 JFrog Artifact (snapshot-repo) 中找不到 jar 文件

标签 java maven jar artifactory

我的团队正在使用 JFrog Artifact ,并且它部署了一个第 3 方库。

我的设置.xml:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <artifactory.url>http://myartifactory.com</artifactory.url>
            <artifactory.username>blah</artifactory.username>
            <artifactory.passwd>blah</artifactory.passwd>
            <artifactory.maven.snapshot>maven-integration-local</artifactory.maven.snapshot>
            <artifactory.maven.thirdparty>maven-third-party-local</artifactory.maven.thirdparty>
            <artifactory.maven.rc>maven-release-candidate-local</artifactory.maven.rc>
            <artifactory.maven.release>maven-release-local</artifactory.maven.release>
            <artifactory.maven.all>maven-repo</artifactory.maven.all>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
                <id>snapshot-repo</id>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>interval:1</updatePolicy>
                </snapshots>
                <name>maven-integration-local</name>
                <url>http://myartifactory.com</url>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>jcenter</id>
                <url>http://jcenter.bintray.com</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </pluginRepository>
            <pluginRepository>
                <id>artifactory-plugin</id>
                <url>${artifactory.url}/${artifactory.maven.all}</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>

artifactory包含一个pom,我自己的项目依赖它(BOM样式导入pom来构建我自己的本地项目)。看起来 Maven 成功下载了所有内容,直到它到达特定的 jar:

Could not resolve dependencies for project xxx:1.1.0: The following artifacts could not be resolved: com.japisoft:xmlpad-res:jar:3.7

我检查过,该 jar 确实存在于 Artifact (xmlpad-res-3.7.jar) 中,但 maven 声称找不到它。我尝试下载 jar 并使用 maven install 插件安装它,但这没有帮助。

为什么 Maven 找不到该文件,我该怎么办?

最佳答案

我在错误地删除/修改maven .settings 文件时遇到了同样的问题;

要解决该问题,请尝试以下步骤:

  1. 首先更新 .m2 文件夹中的本地 jar:右键单击 项目 > Maven > 更新项目(选中“强制”复选框)
  2. 现在通过浏览到 .m2 文件夹来检查您的本地存储库;搜索 对于丢失的 jar (应该完全按照它的定义位于 pom;即 .m2/repository/path/to/your/jar)
  3. 检查.settings.xml文件中的maven设置(通常在.m2文件夹中);直接浏览到文件或 pom 中指定的路径以验证连接
  4. 检查您的 jfrog 存储库是否正在运行;尝试重新启动服务器并再次更新您的项目;再次检查 .m2 文件夹(在我的例子中,我有 xxx.lastupdate 文件,但没有 jars)
  5. 检查您的jfrog 日志以获取有关该问题的更多详细信息;检查此以获取有关如何查找日志的更多详细信息:https://www.jfrog.com/confluence/display/RTF/Artifactory+Log+Files

关于java - maven 在带有第三方库的 JFrog Artifact (snapshot-repo) 中找不到 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36927963/

相关文章:

java - 尽管进行了多次尝试,但链接外部 jar 文件时出现问题

java - .jar 使用 -jar 标志运行

java - 避免警告 "boxing immediately unboxed to perform coercion"

java - Maven: OutofMemoryError 后跟 Could not create the Java virtual machine

java - 无法销毁线程组 org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=SitemapCheck.SitemapAction,maxpri=10]

java - 如何在不同的 Maven 配置文件上运行 jetty

java - 您知道在Tomcat中开发prePost的好的教程网站吗?

java - 如何在 Intellij Idea (2017) 中打开 Collection 夹中选定的文件(所有文件)

java - Mockito 中模拟方法的单元测试最佳实践

java - JDialog 在执行 'dispose' 之前不显示