我正在尝试在Windows上使用Ant构建Maven。
在签出 maven 的文件夹中运行蚂蚁时,我得到: build.xml:105: localRepository doesn't support the "path" attribute
带有 localRepository 的第 106 行是: <localRepository path="${maven.repo.local}" />
蚂蚁输出: 构建文件:H:\maven-3.0-快照\构建.xml
clean-bootstrap:
initTaskDefs:
[echo] Building Apache Maven ...
isMavenHomeSet:
init:
[echo] maven.home = C:maven-3.0-SNAPSHOT
[echo] maven.repo.local = C:UsersXXX/.m2/repository
[echo] distributionId = apache-maven
[echo] distributionName = Apache Maven
[echo] distributionDirectory = apache-maven
prompt-maven-home-exists:
pull:
BUILD FAILED
H:maven-3.0-SNAPSHOTbuild.xml:105: localRepository doesn't support the "path"
attribute
在maven.repo.local
中将斜杠更改为反斜杠也无济于事。
似乎对我们有用,尽管这可能在很大程度上取决于您的build.xml
。 我正在使用 ant 版本 1.9.4 作为记录。
首先,我$HOME/.m2/settings.xml
中的以下条目似乎确实适用于蚂蚁。
<localRepository>/some/path/.m2/repository</localRepository>
然而,这不是一个好的解决方案,因为我们不想更改开发人员的所有配置文件。 对于build.xml
文件,您需要像定义artifact:remoteRepository
行一样定义本地存储库:
<artifact:remoteRepository id="central" url="..."/>
<!-- add the following line after the remoteRepository definitions -->
<artifact:localRepository id="local" path="/some/path/.m2/repository"/>
为了使存储库适用于所有构建分支,我们使用环境变量,如下所示:
<artifact:localRepository id="local" path="${env.BUILD_HOME}/.m2/repository/"/>
然后,您将以与远程存储库相同的方式使用 local
存储库:
<remoteRepository refid="central"/>
<!-- add the following line after the remoteRepository usages -->
<localRepository refid="local"/>
我们必须将其添加到<artifact:pom
和<artifact:dependencies
部分才能使其正常工作。 扬子晚报.
从 maven Central 下载 maven-ant-tasks jar 并复制到$ANT_HOME/lib
目录中。