我有一个maven 3项目' turtle-beans'。我将它部署在jenkins服务器的nexus repo上。例如' turtle-beans-6.6'在maven发行版中部署在nexus.company.com上
我在play 2.3中有另一个使用此依赖项的项目。但是,当我在build.sbt中提到版本号时,它会下载该版本。但是当我提到“最新的整合”时。或者' latest.release',play / sbt不要从nexus repo下载它。我尝试了一切./activator reload,更新命令。没有为我工作。
以下是我的文件, 龟豆/ pom.xml的
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.turtle</groupId>
<artifactId>turtle-beans</artifactId>
<packaging>jar</packaging>
<version>6.5</version>
<name>turtle-beans</name>
<url>http://maven.apache.org</url>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<distributionManagement>
<repository>
<id>nexus</id>
<name>Releases</name>
<url>http://nexus.turtlemint.com/repository/maven-releases</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<name>Snapshot</name>
<url>http://nexus.turtlemint.com/repository/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>
<!--
-->
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</build>
</project>
Build.sbt
//import de.johoop.findbugs4sbt.FindBugs._
//import de.johoop.findbugs4sbt._
name := """turtlemint"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.6"
resolvers += Resolver.mavenLocal
resolvers += "Nexus" at "http://nexus.turtlemint.com/repository/maven-public/"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
javaWs,
javaJpa,
filters,
"org.json" % "org.json" % "chargebee-1.0",
"org.mongodb" % "mongo-java-driver" % "3.4.3",
"org.springframework.data" % "spring-data-elasticsearch" % "1.3.0.RELEASE",
"org.springframework.data" % "spring-data-mongodb" % "1.9.2.RELEASE",
"com.turtle" % "turtle-beans" % "latest-integration",
"commons-beanutils" % "commons-beanutils" % "1.9.3"
)
transitiveClassifiers := Seq("sources")
我想要实现的是,Play项目应该能够在本地安装的jar之间动态获取最新的可用版本并部署在nexus repo上。每次我在nexus repo或本地机器上部署或安装新jar时,我都不想更新版本号。
例如,如果在nexus repo上部署6.5并在本地计算机上安装6.5.1,则播放项目应该拾取6.5.1。
答案 0 :(得分:0)
Ivy的latest.integration
或latest.release
是maven不支持的“动态修订版”(我正在成功使用SBT和我们的常春藤资源库)。
这是因为maven不会将工件所需的“状态”发布到存储库,因为它不知道;即。 pom.xml没有这个概念。
使用maven,您可以使用基于时间的快照版本。