Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试将ivy工件转换为pom的maven缺失工件异常,即使存在_Java_Maven_Ant_Ivy_Pom.xml - Fatal编程技术网

Java 尝试将ivy工件转换为pom的maven缺失工件异常,即使存在

Java 尝试将ivy工件转换为pom的maven缺失工件异常,即使存在,java,maven,ant,ivy,pom.xml,Java,Maven,Ant,Ivy,Pom.xml,我不确定我的方法是否正确,但我有一些工件,我正试图使用IvyAnt任务将其转换为maven,并将其推送到我的maven repo中 讨论中的组件是mystuff.services.common 首先我做pom <ivy:makepom ivyfile="${ivy.lib.dir}/ivy/cache/myorg/mystuff.services.common/ivy-mystuff.services.common.xml" pomfile="${ivy.lib.dir}/ivy/

我不确定我的方法是否正确,但我有一些工件,我正试图使用IvyAnt任务将其转换为maven,并将其推送到我的maven repo中

讨论中的组件是mystuff.services.common

首先我做pom

    <ivy:makepom ivyfile="${ivy.lib.dir}/ivy/cache/myorg/mystuff.services.common/ivy-mystuff.services.common.xml" pomfile="${ivy.lib.dir}/ivy/cache/myorg/mystuff.services.common/poms/mystuff.services.common.pom">
        <mapping conf="default" scope="compile"/>
        <mapping conf="runtime" scope="runtime"/>
    </ivy:makepom>
如果我从ivy文件中的工件中省略pom,其他工件就可以正常发布

我做错了什么

这就是插入工件的pom条目后常春藤文件的外观

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../ivy-doc.xsl"?>
<ivy-module version="1.0">

  <info organisation="myorg" module="mystuff.services.common" revision="1.0.1" status="integration" publication="20130206204156"/>

  <configurations>
    <conf name="default"/>
    <conf name="compile" extends="default"/>
  </configurations>

  <publications>
    <artifact name="services.common" type="jar" conf="compile"/>
    <artifact name="services.common~test" type="jar" conf="compile"/>

    <artifact name="services.common" type="javadoc-zip" ext="zip" conf="compile"/>
    <artifact name="services.common~test" type="javadoc-zip" ext="zip" conf="compile"/>

    <artifact name="services.common" type="src-zip" ext="zip" conf="compile"/>
    <artifact name="services.common~test" type="src-zip" ext="zip" conf="compile"/>

    <artifact name="com.myorg.mystuffservices.common" type="osgi-module" ext="jar" conf="compile"/>
    <artifact name="services.common" type="pom"/>
  </publications>

  <dependencies>
    <dependency org="org.testng" name="testng" rev="5.11" conf="compile->compile-15"/>
  </dependencies>

</ivy-module>

您的发布没有找到由“makepom”任务生成的pom的工件模式

更改位置或向发布任务添加额外的工件标记:

<ivy:publish resolver="myrepo-publish" publishivy="false" overwrite="true">
    <artifacts pattern="lib/myorg/[module]/[type]s/[artifact].[ext]"/>
    <artifacts pattern="${ivy.lib.dir}/ivy/cache/myorg/mystuff.services.common/poms/mystuff.services.common.pom"/>
</ivy:publish>



build.xml:235: impossible to publish artifacts for
  myorg#mystuff.services.common;1.0.1: java.io.IOException: missing artifact
  myorg#mystuff.services.common;1.0.1!mystuff.services.common.pom
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../ivy-doc.xsl"?>
<ivy-module version="1.0">

  <info organisation="myorg" module="mystuff.services.common" revision="1.0.1" status="integration" publication="20130206204156"/>

  <configurations>
    <conf name="default"/>
    <conf name="compile" extends="default"/>
  </configurations>

  <publications>
    <artifact name="services.common" type="jar" conf="compile"/>
    <artifact name="services.common~test" type="jar" conf="compile"/>

    <artifact name="services.common" type="javadoc-zip" ext="zip" conf="compile"/>
    <artifact name="services.common~test" type="javadoc-zip" ext="zip" conf="compile"/>

    <artifact name="services.common" type="src-zip" ext="zip" conf="compile"/>
    <artifact name="services.common~test" type="src-zip" ext="zip" conf="compile"/>

    <artifact name="com.myorg.mystuffservices.common" type="osgi-module" ext="jar" conf="compile"/>
    <artifact name="services.common" type="pom"/>
  </publications>

  <dependencies>
    <dependency org="org.testng" name="testng" rev="5.11" conf="compile->compile-15"/>
  </dependencies>

</ivy-module>
<ivy:publish resolver="myrepo-publish" publishivy="false" overwrite="true">
    <artifacts pattern="lib/myorg/[module]/[type]s/[artifact].[ext]"/>
    <artifacts pattern="${ivy.lib.dir}/ivy/cache/myorg/mystuff.services.common/poms/mystuff.services.common.pom"/>
</ivy:publish>