Maven 2 在目标/类而不是本地存储库中查找依赖项?

Maven 2 在目标/类而不是本地存储库中查找依赖项?,maven-2,compilation,Maven 2,Compilation,小结:我正在寻找一种方法来指导maven在目标/类中搜索依赖项,而不是在本地存储库中搜索jar 假设我有两个模块,A和B,其中A依赖于B。这两个模块都列在模块S中。通常我需要在S中运行“mvn install”。我正在寻找一种运行“mvn compile”的方法,以便在编译A时,其类路径将包含../B/target/classes,而不是~/.m2/repository/com/company/B/1.0/B-1.0.jar (我的理由是,我可以在不需要打包和安装的情况下进行连续编译,或者更准确

小结:我正在寻找一种方法来指导maven在目标/类中搜索依赖项,而不是在本地存储库中搜索jar

假设我有两个模块,A和B,其中A依赖于B。这两个模块都列在模块S中。通常我需要在S中运行“mvn install”。我正在寻找一种运行“mvn compile”的方法,以便在编译A时,其类路径将包含../B/target/classes,而不是~/.m2/repository/com/company/B/1.0/B-1.0.jar


(我的理由是,我可以在不需要打包和安装的情况下进行连续编译,或者更准确地说,在多个模块上使用“mvn scala:cc”)

我认为如果没有可怕的黑客攻击,这是不可能的,这不是maven的工作方式。Maven使用二进制依赖项,需要一个本地存储库来解决它们。所以,maven处理这个问题的方法是在所有模块上启动一个反应堆。以防万一,看一看


但是,在开发过程中,难道不能像大多数Java开发人员那样,将所有项目导入IDE并使用“项目引用”(即,将项目配置为依赖于源代码而不是JAR)吗?这是一种常见的方法,可以避免安装工件来“查看”修改


如果这是不可能的,并且如果您确实不想
工件安装到本地存储库中,那么您必须将代码移动到一个独特的模块中。

我知道这很烦人。在这里帮助我的肯定是IDE支持。eclipse和IntelliJ非常聪明,可以在maven项目导入完成后收集所有依赖项。甚至跨模块依赖项都是实时编译的。

在开发过程中,您不能将所有项目导入IDE中吗?不幸的是,在某些重要环境中,例如自动化和命令行环境中,这会禁止开发。在这种情况下,执行
mvn安装
要慢得多,这大大削弱了迭代开发流程。除了“这不是maven的工作方式”之外,还有其他理由吗?您的问题在9年后的maven 3.6.1中以任何方式得到了解决吗?