欢迎!请查看关于页面以了解更多关于该平台的信息。
Maven仓库凭据的支持在https://dev.clojure.org/jira/browse/TDEPS-9中添加,但只允许在默认位置(~/.m2/settings.xml或与Maven安装捆绑在一起)的settings.xml文件。
允许用户指定替代Maven设置文件的路径将有助于共享环境(例如CI服务器,其中构建应该被隔离)。这可能可以通过一个新可选键:mvn/settings来完成。如果对此感兴趣,我将很高兴提出一个补丁。
:mvn/settings
或者支持Thomas Spellman在TDEPS-9中的建议(允许在deps.edn中指定仓库凭据)可以解决相同的问题,并且具有不需要独立设置文件的好处。
评论由:alexmiller发表
我不认为为这个做出定制化的事情是有意义的。Maven做了什么?我们能尊重这一点吗?
评论由:cbowdon发表
感谢你关注这个。Maven允许通过命令行参数传递给settings.xml的替代路径,因此可能为clj添加一个额外的-Smaven-settings选项是合适的。
-Smaven-settings
评论者:tsachev
我认为tools.deps使用的maven设置构建器也支持自定义settings.xml文件位置的系统属性{{org.apache.maven.user-settings}}
clj -J-Dorg.apache.maven.user-settings=/my/settings.xml
多谢你的建议,弗拉基米尔。不幸的是,这个系统属性在Maven 3中似乎不受支持:[https://issues.apache.org/jira/browse/MNG-5199](https://issues.apache.org/jira/browse/MNG-5199)。但我还是亲自测试了,无论是使用clj还是mvn,都没有成功。
评论者:tcrawley
{{org.apache.maven.user-settings}}系统属性(链接:[https://github.com/apache/maven/blob/maven-3.5.2/maven-core/src/main/java/org/apache/maven/settings/MavenSettingsBuilder.java#L38](https://github.com/apache/maven/blob/maven-3.5.2/maven-core/src/main/java/org/apache/maven/settings/MavenSettingsBuilder.java#L38) 文本:受支持)由tools.deps使用的maven库版本(目前为3.5.2)。指定它不工作的原因是clojure脚本没有将{{-J}}选项(脚本中的{{$java_opts}})传递给(链接:[https://github.com/clojure/brew-install/blob/1.9.0/src/main/resources/clojure#L301](https://github.com/clojure/brew-install/blob/1.9.0/src/main/resources/clojure#L301) 文本:解析依赖项的Java调用)。如果您修改脚本以直接设置该sysprop或传递JVM选项,您可以查看sysprop是否正在工作。我并不是提倡将所有JVM opt传递给解析调用作为解决方案,而只是确认这个sysprop确实工作的方法。
是的,不想将所有 JVM 选项传递给类路径生成调用。要么需要创建一种专门执行该操作的方法,或者以不同的方式传递此属性。