当前位置: 首页 > 知识库问答 >
问题:

无法在Ivy中下载json库

东郭赞
2023-03-14

我想下载json-lib-2.3-jdk15.jar。我发现常春藤没有分类器标记,所以我使用maven标记,下面是常春藤xml

<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"
       xmlns:m="http://ant.apache.org/ivy/maven">
    <info organisation="xxxx" module="xxx" status="integration"/>
    <dependencies>
        <dependency org="net.sf.json-lib" name="json-lib" rev="2.3"> 
            <artifact name="json-lib" type="jar" m:classifier="jdk15"/>
        </dependency>
    </dependencies>
</ivy-module>

和ivysetting.xml

<ivysettings>
    <settings defaultResolver="default" />
    <include url="${ivy.default.settings.dir}/ivysettings-public.xml" />
    <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
    <include url="${ivy.default.settings.dir}/ivysettings-local.xml" />
    <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>

    <caches artifactPattern="[organisation]/[module]/([branch]/)[type]s/([platform]/)[artifact]-[revision](.[ext])" />
    <resolvers>
        <filesystem name="local">
            <ivy
                pattern="${ivy.local.default.root}/[organisation]/[module]/([branch]/)[revision]/ivy.xml" />
            <artifact
                pattern="${ivy.local.default.root}/[organisation]/[module]/([branch]/)[revision]/[type]s/([platform]/)[artifact](.[ext])" />
        </filesystem>
        <ibiblio name="public" m2compatible="true" usepoms="true" pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" /> 
        <chain name="default" returnFirst="true">
                    <resolver ref="local" />
            <resolver ref="public"/>
        </chain>
    </resolvers>
</ivysettings>

但我仍然无法下载。似乎m:分类器不起作用。对此有什么建议吗?谢谢

我终于找到了根本原因。我不应该使用

xmlns:m="http://ant.apache.org/ivy/maven

我应该使用

xmlns:m="http://ant.apache.org/ivy/extra

另一件事,在我的例子中,我在“artifact”标记中添加了“conf”distribute,这将导致jar下载失败。所以不要在“artifact”中添加“conf”。

共有1个答案

傅长恨
2023-03-14

对我有用……你用的是什么版本的常春藤?

以下示例包含一些建议的增强功能

Apache Ant(TM) version 1.8.2
Apache Ivy 2.3.0-rc2
<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">
    <info organisation="xxxx" module="xxx"/>
    <configurations>
        <conf name="jdk15"   description="JDK 1.5 dependencies"/>
    </configurations>
    <dependencies>
        <dependency org="net.sf.json-lib" name="json-lib" rev="2.3" conf="jdk15->master"> 
            <artifact name="json-lib" type="jar" m:classifier="jdk15"/>
        </dependency>
    </dependencies>
</ivy-module>

笔记:

  • 使用配置总是个好主意。在这种情况下,我创建了一个名为“jdk15”的程序来使用jdk15分类器对文件进行分组
  • 远程“master”配置很特殊,不包含传递依赖项(有关说明,请参阅以下链接)
  • maven作用域如何通过ivy映射到ivy配置
<ivysettings>
    <settings defaultResolver="central" />
    <resolvers>
        <ibiblio name="central" m2compatible="true"/> 
    </resolvers>
</ivysettings>

笔记:

  • 这是一个最小的常春藤设置文件。(事实上,您可以省略该文件,它在功能上是相同的)
  • 你在使用“本地”解析器吗?根据我的经验,这是不必要的(除非您在构建期间发布工件)
 类似资料:
  • 无法完成安装,因为找不到一个或多个必需的项目。 正在安装的软件:TestNG M2E(Maven)Integration(可选)6.13.0.201712040650(org.TestNG.eclipse.Maven.feature.feature.group 6.13.0.201712040650)缺少要求:TestNG M2E(Maven)Integration 6.13.0.20171204

  • 我目前有一个私有的Java项目,我正在努力使其成型,以供其他开发人员使用。我尝试做的一件事是让Ant自己下载像JUnit、PMD和FindBugs这样的东西所需要的JAR,这样开发人员就不必自己安装它了。因此,我已经卸载了所有这些内容的RPM包(以确保我使用的是Ivy下载的版本),并且Ivy可以很好地下载JUnit相关的JAR文件。然而,我有两个(可能相关的)问题: 1)如果为任务输入,则会收到警

  • 我正试图使用pandas library的read\u json()和python的内置json库从python中的此链接加载数据集,该数据集存储在我的计算机中(与我的笔记本相同的文件夹)。以下是我的代码: 另一个是: 在第一种情况下,我得到以下错误: 在第二种情况下,我得到: 我正在Ubuntu 18.04中使用jupyter笔记本

  • 我遇到了一件奇怪的事。我用常春藤检索标签把罐子放在某处。如果我编写如下代码: 它工作正常。但是如果我添加如下内容: 它会抛出“无法解析依赖关系”。有什么建议吗?谢了。

  • 我也尝试过“无法找到com.android.tools.build:aapt2:3.2.0”,但它不起作用。 请帮忙...

  • 我试图从url下载图像,但得到了java。木卫一。IOException:异常。我的代码是: 当运行投掷: 这段代码适用于某些URL,但对于这一点,我不明白为什么不能。非常感谢。