在Maven中,依赖项通常设置如下:
<dependency>
<groupId>wonderful-inc</groupId>
<artifactId>dream-library</artifactId>
<version>1.2.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
现在,如果您正在使用频繁发布的库,不断更新<version>标记可能有些烦人.有没有办法告诉Maven始终使用最新的可用版本(来自存储库)?
下面是我尝试使用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) 从我的pom.xml获取以下存储库URL,如何确定存储库中最新版本的spring和hibernate? http://repo1.maven.org/maven2
我正在使用Maven进行一些测试,并意识到我可以执行findbugs
Findbugs插件的目标,而无需将插件添加到POM文件中.另一方面,当我需要运行run
Jetty插件的目标时,我被迫将插件添加到POM文件或构建失败.
当我运行第一个命令时,构建成功,而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) 我从今天早上做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) 我遇到了一个奇怪的问题:
我使用" 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.xml
nexus中的时间戳比实际jar的时间戳大一秒多!
如下:
maven-metadata.xml
:1.0-20170512.111840-6因为userdao-1.0-20170512.111840-6.jar
在Nexus中不存在userdao-1.0-20170512.111839-6.jar
,所以应该是正确的,所以它是错误的.
谁能告诉我为什么以及如何解决它?
我正在使用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) 我已经用 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 3.9.2
并且必须合并两个存储库的部分(通过复制工件),这些存储库具有相同的(SNAPSHOT
-versioned)工件.这搞砸了maven-metadata.xml
.在Nexus中,可以简单地重建此工件的元数据,并让存储库管理器为您排序.我似乎无法找到关于如何使用Artifactory执行此操作的任何链接/解释.有人可以告诉我怎么做到这一点?
我正在测试从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-metadata ×10
maven ×7
java ×4
maven-3 ×4
artifactory ×2
maven-2 ×2
nexus ×2
dependencies ×1
gradle ×1
jackson ×1
jenkins ×1