При запуске IVY для модуля commons-jxpath я получаю следующую ошибку:
[ivy:retrieve] :: Apache Ivy 2.5.0 - 20191020104435 :: https://ant.apache.org/ivy/ ::
[ivy:retrieve] :: loading settings :: url = jar:file:/Applications/Eclipse.app/Contents/Eclipse/plugins/org.apache.ivy.eclipse.ant_2.5.0.final_20191020104435/ivy.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies ::
[ivy:retrieve] confs: [default]
[ivy:retrieve] :: resolution report :: resolve 848ms :: artifacts dl 0ms
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 1 | 0 | 0 | 0 || 0 | 0 |
---------------------------------------------------------------------
[[ivy:retrieve] :: problems summary ::
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: UNRESOLVED DEPENDENCIES ::
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: com.mockrunner#mockrunner-jdk1.3-j2ee1.3;0.4: java.text.ParseException: inconsistent module descriptor file found in 'https://repo1.maven.org/maven2/com/mockrunner/mockrunner-jdk1.3-j2ee1.3/0.4/mockrunner-jdk1.3-j2ee1.3-0.4.pom': bad module name: expected='mockrunner-jdk1.3-j2ee1.3' found='mockrunner-j2ee1.3-jdk1.3';
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :::: ERRORS
[ivy:retrieve] public: bad module name found in https://repo1.maven.org/maven2/com/mockrunner/mockrunner-jdk1.3-j2ee1.3/0.4/mockrunner-jdk1.3-j2ee1.3-0.4.pom: expected='mockrunner-jdk1.3-j2ee1.3 found='mockrunner-j2ee1.3-jdk1.3'
[ivy:retrieve]
[ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
Мой плющ. xml
<ivy-module version="1.0">
<info organisation="myOrg" module="myModule"/>
<dependencies>
<dependency org="commons-jxpath" name="commons-jxpath" rev="1.3"/>
</dependencies>
</ivy-module>
Моя сборка. xml
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse.ant.import?>
<project name="MyProject" default="build" xmlns:ivy="antlib:org.apache.ivy.ant" basedir=".">
<!-- Project properties -->
<property name="src" location="${basedir}/src"/>
<property name="test-output" value="${basedir}/test-output"/>
<property name="debuglevel" value="source,lines,vars"/>
<!-- Ivy properties -->
<property name="ivy.install.version" value="2.5.0" />
<property name="ivy.jar.dir" value="${basedir}/ivy" />
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
<property name = "ivy.lib.dir" value="${basedir}/lib" />
<path id="lib.path.id">
<fileset dir="${ivy.lib.dir}" />
</path>
<target name="download-ivy" unless="skip.download">
<mkdir dir="${ivy.jar.dir}"/>
<get src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" dest="${ivy.jar.file}" usetimestamp="true"/>
</target>
<target name="install-ivy" depends="download-ivy" description="Install ivy">
<path id="ivy.lib.path">
<fileset dir="${ivy.jar.dir}" includes="*.jar"/>
</path>
<taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
</target>
<target name="update" depends="install-ivy" description="Download project dependencies">
<ivy:retrieve/>
</target>
</project>
Сегодня утром все работало с версией ivy 2.3, но из-за изменения хранилища maven на HTTPS мы обновились до 2.5.0 и теперь получаем ошибку.
Я пытался напрямую запросите соответствующий mockrunner, но получите ту же ошибку. Когда я смотрю на файл POM, оказывается, что указанный идентификатор артефакта не соответствует имени цели зависимости.
https://repo1.maven.org/maven2/com/mockrunner/mockrunner-jdk1.3-j2ee1.3/0.4/mockrunner-jdk1.3-i2ee1.3-0.4.pom
target = mockrunner-jdk1.3-j2ee1.3
id в POM = mockrunner-j2ee1.3-jdk1.3
Есть ли способ обойти эту ошибку, чтобы разрешить извлечение commons-jxpath с помощью ivy?