对于基于maven的项目与世界其他地方之间的构建集成,我需要能够找到Maven认为当前用户/构建的本地存储库的位置,但是来自Maven外部。
现在,我使用:
mvn help:evaluate -Dexpression="localRepository" | grep basedir | sed -e "s/.*>\(.*\)<.*/\1/")
这可行(或者似乎在我遇到的情况的子集中工作),但它极端慢:每次调用该行需要几秒钟(启动JVM,让maven做它需要什么,等等。它在交互式构建中是无法忍受的。
那么,有没有人知道是否有更快的方法来找到它? 我相信我不能只查找M2_REPO环境变量,因为值可以在别处定义(在用户settings.xml中?在其他地方?)
我现在更好的想法是根据项目路径设置一个envirnment-variable和key builtd,以至少将评估速度降低到一次。
任何想法或见解都会非常有帮助。
答案 0 :(得分:0)
除非在.m2/repository
中另有指定,否则可以在用户目录中的settings.xml
中找到本地存储库。
解析settings.xml
。