【问题标题】:Bad Ivy file - Content is not allowed in prolog错误的常春藤文件 - 序言中不允许内容
【发布时间】:2016-07-08 00:47:48
【问题描述】:

这是我的案例:我已经建立了一个简单的 Ant 项目,其中包含一个 Ivy 任务,用于将工件发布到本地存储库。当我运行 tha ant 脚本时,我看到以下错误:

build.xml: impossible to publish artifacts for my.company#myproject;1.0: java.lang.IllegalStateException: bad ivy file for my.company#myproject;1.0: C:\Users\user\Documents\test\myproject\build\myproject.jar: java.text.ParseException: [[Fatal Error] myproject.jar:1:1: Content is not allowed in prolog. in file:/C:/Users/user/Documents/test/myproject/build/myproject.jar
]

现在,我已经阅读了有关此问题的互联网,我发现了一个常见的解释,即当在

"<?xml version ... ?>"

声明。好吧,我的常春藤文件中没有任何东西。我用记事本++搜索它,打开“显示所有字符”选项..什么都没有。 请问有人遇到过这个问题吗? 这是我的文件:

ivy.xml

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
    <info organisation="my.company" module="myproject" />
    <publications>
        <artifact name="myproject" type="jar"/>
    </publications>
    <dependencies>
        ...
        some list of dependencies
        ...
    </dependencies>
</ivy-module>

Build.xml 目标:

<target name="publish">
    <ivy:publish resolver="local" revision="1.0" organisation="my.company" module="myproject" overwrite="true">
       <artifacts pattern="${basedir}/build/myproject.jar" />
    </ivy:publish>
</target>

谢谢!

【问题讨论】:

  • 你的 ivy 文件不是罪魁祸首。一些 XML 解析器试图解析 myproject.jar,但显然没有成功。也许您的 &lt;artifacts&gt; 元素语法错误?
  • 确实,如果我将工件更改为 那么错误是:java.lang.IllegalStateException: Ivy file在 my.company#myproject;1.0 的缓存中找不到!

标签: xml ant publish ivy


【解决方案1】:

问题是 revision="1.0" 必须是 ivysettings.xml 文件的一部分,而不是发布任务中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 2015-12-22
    • 2014-12-15
    • 2023-04-10
    • 2012-07-19
    • 1970-01-01
    • 2014-07-23
    相关资源
    最近更新 更多