是不是;“使用本地依赖项构建”;是否存在于Maven中而没有多模块?

是不是;“使用本地依赖项构建”;是否存在于Maven中而没有多模块?,maven,Maven,我有一套应用程序,都使用Maven和本地存储库。应用程序在其pom.xml中使用形成依赖关系树。所有这些项目的版本中都有-SNAPSHOT Maven(或某些兼容的依赖关系管理器)是否可以将源已更改的所有本地依赖关系一起构建应用程序? 我不想创建多模块项目,因为: 项目完全是库,而不是模块 我不希望一个额外的复杂性仅仅是为了有一个已经被精确定义的构建形式 我希望这个过程是动态的:如果一个库足够成熟,可以放到远程存储库中,那么它将不再使用主项目重建,这没关系 目前,需要进行大量重构,将代码从一

我有一套应用程序,都使用Maven和本地存储库。应用程序在其
pom.xml
中使用
形成依赖关系树。所有这些项目的版本中都有
-SNAPSHOT

Maven(或某些兼容的依赖关系管理器)是否可以将源已更改的所有本地依赖关系一起构建应用程序?

我不想创建多模块项目,因为:

  • 项目完全是库,而不是模块
  • 我不希望一个额外的复杂性仅仅是为了有一个已经被精确定义的构建形式
  • 我希望这个过程是动态的:如果一个库足够成熟,可以放到远程存储库中,那么它将不再使用主项目重建,这没关系

目前,需要进行大量重构,将代码从一个库移动到另一个库,等等。通常需要重建依赖关系树的实质部分。因此,我需要在几个项目中手动编写
mvn install
,以确保没有过时的代码。

一旦在特定的Maven项目上运行
mvn install
,在依赖项收集期间(编译阶段之前),它将可供位于同一工作站上的所有其他Maven项目访问

:

install
-将包安装到本地存储库中,作为本地其他项目的依赖项使用


不必将库作为同一项目的一部分(或将其作为多模块项目)保留。但一旦你想与你的队友共享这些库,你就需要强迫他们在本地安装库(就像你做的那样),或者将这些库存储在某个外部repo上,比如Artifactory或Nexus。不,它不起作用。即使使用多模块项目,maven也无法检测到哪些模块改变了项目中的源代码,哪些模块没有

Maven 2中有一个(不稳定的)实现,但在3.x中没有继续,请参见

我希望他们能在maven 4中再次包含它,但我还没有看到:

我曾经做过类似的设置,但不得不使用shell脚本和一些git魔术来让它工作


您也可以决定从一开始就将您的库放在单独的repo中,并使用google用于android开发的
repo
工具:

您的意思是要将自定义库和应用程序代码分别放在另一个地方吗?而不是在一个项目中耦合,因为您不想将库代码与应用程序代码一起携带。是吗?这个问题是关于本地库是否可以使用maven访问同一台机器上的其他代码吗?是的。这些库有时会被几个项目重用。我知道,问题是,我经常需要在多个项目中手动运行
mvn install
。我希望在任何需要重建的项目中,该命令都能由某个自动依赖跟踪程序运行。