标签: maven-metadata

如何告诉Maven使用最新版本的依赖项?

在Maven中,依赖项通常设置如下:

<dependency>
  <groupId>wonderful-inc</groupId>
  <artifactId>dream-library</artifactId>
  <version>1.2.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

现在,如果您正在使用频繁发布的库,不断更新<version>标记可能有些烦人.有没有办法告诉Maven始终使用最新的可用版本(来自存储库)?

java dependencies maven-2 maven maven-metadata

761
推荐指数
11
解决办法
52万
查看次数

为什么Maven每次都下载maven-metadata.xml?

下面是我尝试使用maven构建Web应用程序时,我的互联网连接通常得到的错误.

我的问题是,为什么每次在早期构建相同的应用程序时都必须下载maven.

我的配置中有什么可能是错误的,每次都可以下载maven?

以下是我尝试离线构建时出现的错误:

[INFO] ------------------------------------------------------------------------
[INFO] Building mywebapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: https://raw.github.com/pagecrumb/mungo/mvn-repo/com/pagecrumb/mungo/0.0.1-SNAPSHOT/maven-metadata.xml

[WARNING] Could not transfer metadata com.mywebapp:mungo:0.0.1-SNAPSHOT/maven-metadata.xml 
from/to mungo-mvn-repo (https://raw.github.com/pagecrumb/mungo/mvn-repo/): raw.github.com
[INFO] 
[INFO] --- maven-war-plugin:2.1.1:war (default-cli) @ mywebapp ---
[INFO] Packaging webapp
[INFO] Assembling webapp [mywebapp] in [D:\workspace\web\target\mywebapp-1.0-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [D:\workspace\web\src\main\webapp]
[INFO] Webapp assembled in [1237 msecs]
[INFO] Building war: D:\workspace\web\target\mywebapp-1.0-SNAPSHOT.war
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored 
(webxml attribute is missing from war task, 
or …
Run Code Online (Sandbox Code Playgroud)

java maven-3 maven maven-metadata

100
推荐指数
3
解决办法
9万
查看次数

查找特定插件的Maven存储库中可用的版本列表?

从我的pom.xml获取以下存储库URL,如何确定存储库中最新版本的spring和hibernate? http://repo1.maven.org/maven2

java maven-2 maven-metadata

16
推荐指数
2
解决办法
1万
查看次数

Maven插件前缀解析如何工作?为什么要解决"findbugs"而不是"jetty"?

我正在使用Maven进行一些测试,并意识到我可以执行findbugsFindbugs插件的目标,而无需将插件添加到POM文件中.另一方面,当我需要运行runJetty插件的目标时,我被迫将插件添加到POM文件或构建失败.

  • 为什么Jetty需要在POM中配置而Findbugs没有?
  • Maven如何知道要执行哪个Findbugs(假设我们必须使用相同名称但不同组ID的插件)?

当我运行第一个命令时,构建成功,而POM文件没有任何更改:

mvn findbugs:findbugs
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building module-mytest 1.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- findbugs-maven-plugin:3.0.4:findbugs (default-cli) @ module-mytest ---
[INFO] Fork Value is true
     [java] Warnings generated: 6
[INFO] Done FindBugs Analysis....
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.165s
[INFO] Finished at: Sun Oct 23 18:40:26 WEST 2016
[INFO] Final Memory: 21M/111M
[INFO] -----------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

但是当我运行第二个时,我得到了这个:

mvn jetty:run
[INFO] Scanning for projects...
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml
Downloading: …
Run Code Online (Sandbox Code Playgroud)

java maven maven-metadata

13
推荐指数
1
解决办法
3万
查看次数

Maven构建错误没有可用于org.codehaus.jackson的版本:jackson-core-asl:jar:[1.8,1.9]在指定范围内

我从今天早上做maven构建时遇到了错误.昨天和今天没有具体的变化.有人可以帮我解决这个问题吗?我尝试清除所有本地存储库,将jackson版本更改为1.9.10.令人惊讶的是,这对于正在进行相同构建的同事来说很有用.

[ERROR] Failed to execute goal on project netvogue-database-api: Could not resolve     dependencies for project org.netvogue.server:netvogue-database-api:jar:1.0-SNAPSHOT: Failed to collect dependencies for [org.springframework.data:spring-data-neo4j-rest:jar:2.1.0.RC4 (compile), org.codehaus.jackson:jackson-jaxrs:jar:1.8.3 (compile), org.codehaus.jackson:jackson-mapper-asl:jar:1.8.3 (compile), org.neo4j:neo4j-kernel:jar:tests:1.8.RC1 (test), org.neo4j:neo4j-cypher:jar:1.8.RC1 (compile), com.amazonaws:aws-java-sdk:jar:1.3.10 (compile), org.imgscalr:imgscalr-lib:jar:4.2 (compile), org.springframework:spring-context:jar:3.1.2.RELEASE (compile), org.springframework.security:spring-security-config:jar:3.1.2.RELEASE (compile), org.springframework.security:spring-security-web:jar:3.1.2.RELEASE (compile), org.slf4j:slf4j-api:jar:1.5.10 (compile), org.slf4j:jcl-over-slf4j:jar:1.5.10 (runtime), org.slf4j:slf4j-log4j12:jar:1.5.10 (runtime), log4j:log4j:jar:1.2.16 (compile), junit:junit:jar:4.7 (test)]: No versions available for org.codehaus.jackson:jackson-core-asl:jar:[1.8,1.9) within specified range -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

jackson maven-3 maven-metadata

11
推荐指数
2
解决办法
1万
查看次数

快照jar的maven-metadata.xml中的时间戳比实际jar的时间戳多一秒?

我遇到了一个奇怪的问题:

我使用" mvn deploy"(Maven 3.3.9,Jenkins 2.45,Nexus 2.12.0)在jenkins中将快照jar部署到我的nexus,结果如下(假设jar名称是userdao.jar):

Uploaded: myNexusIp/nexus/content/repositories/snapshots/xxx/1.0-SNAPSHOT/userdao-1.0-20170512.111840-6.jar 
Uploaded: myNexusIp/nexus/content/repositories/snapshots/xxx/1.0-SNAPSHOT/maven-metadata.xml
Run Code Online (Sandbox Code Playgroud)

构建成功,一切都很好.

但是当我构建另一个依赖于上面的maven项目时,userdao.jar发生了如下错误:

Could not find artifact userdao:jar:1.0-20170512.111840-6 in public (http://myNexusIp/nexus/content/groups/public/)
Run Code Online (Sandbox Code Playgroud)

定位后我发现maven-metadata.xmlnexus中的时间戳比实际jar的时间戳大一秒多!
如下:

  • maven-metadata.xml:1.0-20170512.111840-6
  • 实际存在的快照jar:userdao-1.0-20170512.111839-6.jar

因为userdao-1.0-20170512.111840-6.jar在Nexus中不存在userdao-1.0-20170512.111839-6.jar,所以应该是正确的,所以它是错误的.

谁能告诉我为什么以及如何解决它?

nexus maven jenkins maven-metadata

11
推荐指数
3
解决办法
3074
查看次数

部署到nexus时,不会更新maven-metadata.xml

我正在使用Apache Maven 3.0 Nexus开源版,版本:1.8.0.1

这是我的pom.xml的一部分

<plugin>
   <artifactId>maven-deploy-plugin</artifactId>
   <version>2.5</version>
</plugin>
<plugin>
   <artifactId>maven-release-plugin</artifactId>
   <version>2.1</version>
</plugin>

<distributionManagement>
   <repository>
   <id>nexus</id>
   <name>nexus</name>
   <url>http://myrepo/nexus/content/repositories/releases</url>
   </repository>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)

这是一个非常简单的项目.当我做

  mvn release:prepare
  mvn release:perform
Run Code Online (Sandbox Code Playgroud)

一切顺利:

...
[INFO] [INFO] --- maven-deploy-plugin:2.5:deploy (default-deploy) @ simple ---
[INFO] Uploading: http://myrepo/nexus/content/repositories/releases/...pom
[INFO] 4 KB   
[INFO] 5 KB   
[INFO]        
[INFO] Uploaded: http://myrepo/nexus/content/repositories/releases/....pom (5 KB at 1.0 KB/sec)
[INFO] Downloading: http://myrepo/nexus/content/repositories/releases/.../maven-metadata.xml
[INFO] 603 B   
[INFO]         
[INFO] Downloaded: http://myrepo/nexus/content/repositories/releases/.../maven-metadata.xml (603 B at 1.5 KB/sec)
[INFO] Uploading: http://myrepo/nexus/content/repositories/releases/.../maven-metadata.xml
[INFO] 634 B   
[INFO]         
[INFO] Uploaded: http://myrepo/nexus/content/repositories/.../maven-metadata.xml (634 B …
Run Code Online (Sandbox Code Playgroud)

nexus maven-3 maven maven-deploy-plugin maven-metadata

10
推荐指数
1
解决办法
2万
查看次数

如何使用 maven-publish 和 artifactory-gradle-plugin 生成 maven-metata.xml?

我已经用 groovy 编写了一个 Gradle 插件并使用 Gradle 来构建它。我有一个本地网络 Artifactory 服务器,我使用 Gradle Artifactory 插件和 Gradle 中的 maven-publish 插件发布结果。我有另一个依赖此插件的 Gradle 构建脚本作为依赖项。如果我列出特定版本的依赖项,我就可以让这一切正常工作。我曾尝试使用 maven 版本范围(例如“[1.0,2.0)”),但这失败了,说它找不到 maven-metadata.xml。我检查了 Artifactory,果然,它不在那里。我需要做什么来制作它,最好是在插件的构建过程中?

这是我的自定义 gradle 插件的 build.gradle 文件:

buildscript {
    repositories {
        maven {
            url "${artifactory_contextUrl}/plugins-release"
            credentials {
                username = "${artifactory_user}"
                password = "${artifactory_password}"
            }
        }
    }
    dependencies {
        classpath group: 'org.apache.directory.studio', name: 'org.apache.commons.io', version: '2.4'
        classpath group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.0.9'
    }
}

plugins {
    id 'com.jfrog.artifactory' version '3.0.1'
}

apply plugin: 'groovy'
apply plugin: 'maven-publish'

artifactory {
    contextUrl …
Run Code Online (Sandbox Code Playgroud)

artifactory gradle maven maven-metadata

7
推荐指数
1
解决办法
5862
查看次数

如何在Artifactory中重建maven-metadata.xml?

我们正在使用Artifactory 3.9.2并且必须合并两个存储库的部分(通过复制工件),这些存储库具有相同的(SNAPSHOT-versioned)工件.这搞砸了maven-metadata.xml.在Nexus中,可以简单地重建此工件的元数据,并让存储库管理器为您排序.我似乎无法找到关于如何使用Artifactory执行此操作的任何链接/解释.有人可以告诉我怎么做到这一点?

artifactory maven maven-metadata

7
推荐指数
3
解决办法
1万
查看次数

迁移到Maven 3.0.1 - 部署失败,错误:500仅适用于最顶层的maven-metadata.xml

我正在测试从2.2.1迁移到Maven 3.0.1.

除部署阶段外,所有阶段都运行良好.

当我第一次运行2.2.1时,一切运行正常.

然后我切换到3.0.1并运行相同的命令,一切顺利,除了最顶层的maven-metadata.xml文件.当maven尝试上传该文件时,我收到一个http错误:500.

如果您在下面的日志中注意到:

这失败了:

Uploading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/0.0.1-SNAPSHOT/maven-metadata.xml
Run Code Online (Sandbox Code Playgroud)

但这成功了:

Uploading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/maven-metadata.xml  
Run Code Online (Sandbox Code Playgroud)

让我感到惊讶的是,我没有找到关于这个问题的更多信息.然后,maven 3只出现了大约8个月.

我发现这两个我不认为与我有关的问题:_http://maven.40175.n5.nabble.com/Created-MSITE-531-Site-deployment-fails-on-googlecode-repository-unnecessary-路径元素在-的WebDAV - td3307584.html

_http://maven.40175.n5.nabble.com/Moved-WAGON-319-Site-deployment-fails-on-googlecode-repository-unnecessary-path-element-in-WebDAV-UR-td3308501.html

我还尝试完全从'artifactory'中删除旧的工件并再次部署.

我希望有人能指出我在这里正确的方向.

我正在粘贴下面的相关信息.

提前致谢.

这是控制台输出的相关部分:

[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ ThirdPartyDeploymentProject --- 
[INFO] Installing D:\PRIVATE\src\experiments\CIMM-Building\ThirdPartyDeploymentProject\target\ThirdPartyDeploymentProject-1-SNAPSHOT.jar to C:\Program Files\apache-maven-2.2.1\repo\com\***\deployment\ThirdPartyDeploymentProject\1-SNAPSHOT\ThirdPartyDeploymentProject-1-SNAPSHOT.jar 
[INFO] Installing D:\PRIVATE\src\experiments\CIMM-Building\ThirdPartyDeploymentProject\pom.xml to C:\Program Files\apache-maven-2.2.1\repo\com\***\deployment\ThirdPartyDeploymentProject\1-SNAPSHOT\ThirdPartyDeploymentProject-1-SNAPSHOT.pom 
[INFO] 
[INFO] --- maven-deploy-plugin:2.5:deploy (default-deploy) @ ThirdPartyDeploymentProject --- 
Downloading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/maven-metadata.xml
Uploading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/ThirdPartyDeploymentProject-1-20110107.154227-1.jar
Uploaded: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/ThirdPartyDeploymentProject-1-20110107.154227-1.jar (3 KB at 18.4 KB/sec) 
Uploading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/ThirdPartyDeploymentProject-1-20110107.154227-1.pom
Uploaded: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/ThirdPartyDeploymentProject-1-20110107.154227-1.pom (2 KB at 1.9 KB/sec) 
Downloading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/maven-metadata.xml
Downloaded: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/maven-metadata.xml (305 B at 0.4 KB/sec) 
Uploading: …
Run Code Online (Sandbox Code Playgroud)

maven-3 maven-metadata

6
推荐指数
1
解决办法
6673
查看次数