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

带有apache常春藤依赖性管理的Log4j2无法解析log4j-api-java9

南宫泓
2023-03-14

在尝试将apache log4j2与ivy build management工具结合使用时,我在尝试解析依赖项时遇到以下错误:

:: problems summary ::
:::: WARNINGS
        module not found: org.apache.logging.log4j#log4j-api-java9;2.11.0
    ==== local: tried
      C:\Users\Scott Neville\.ivy2\local\org.apache.logging.log4j\log4j-api-java9\2.11.0\ivys\ivy.xml
      -- artifact org.apache.logging.log4j#log4j-api-java9;2.11.0!log4j-api-java9.zip:
      C:\Users\Scott Neville\.ivy2\local\org.apache.logging.log4j\log4j-api-java9\2.11.0\zips\log4j-api-java9.zip
    ==== shared: tried
      C:\Users\Scott Neville\.ivy2\shared\org.apache.logging.log4j\log4j-api-java9\2.11.0\ivys\ivy.xml
      -- artifact org.apache.logging.log4j#log4j-api-java9;2.11.0!log4j-api-java9.zip:
      C:\Users\Scott Neville\.ivy2\shared\org.apache.logging.log4j\log4j-api-java9\2.11.0\zips\log4j-api-java9.zip
    ==== public: tried
      https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api-java9/2.11.0/log4j-api-java9-2.11.0.pom
      -- artifact org.apache.logging.log4j#log4j-api-java9;2.11.0!log4j-api-java9.zip:
      https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api-java9/2.11.0/log4j-api-java9-2.11.0.zip
        module not found: org.apache.logging.log4j#log4j-core-java9;2.11.0
    ==== local: tried
      C:\Users\Scott Neville\.ivy2\local\org.apache.logging.log4j\log4j-core-java9\2.11.0\ivys\ivy.xml
      -- artifact org.apache.logging.log4j#log4j-core-java9;2.11.0!log4j-core-java9.zip:
      C:\Users\Scott Neville\.ivy2\local\org.apache.logging.log4j\log4j-core-java9\2.11.0\zips\log4j-core-java9.zip
    ==== shared: tried
      C:\Users\Scott Neville\.ivy2\shared\org.apache.logging.log4j\log4j-core-java9\2.11.0\ivys\ivy.xml
      -- artifact org.apache.logging.log4j#log4j-core-java9;2.11.0!log4j-core-java9.zip:
      C:\Users\Scott Neville\.ivy2\shared\org.apache.logging.log4j\log4j-core-java9\2.11.0\zips\log4j-core-java9.zip
    ==== public: tried
      https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core-java9/2.11.0/log4j-core-java9-2.11.0.pom
      -- artifact org.apache.logging.log4j#log4j-core-java9;2.11.0!log4j-core-java9.zip:
      https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core-java9/2.11.0/log4j-core-java9-2.11.0.zip
        ::::::::::::::::::::::::::::::::::::::::::::::
        ::          UNRESOLVED DEPENDENCIES         ::
        ::::::::::::::::::::::::::::::::::::::::::::::
        :: org.apache.logging.log4j#log4j-api-java9;2.11.0: not found
        :: org.apache.logging.log4j#log4j-core-java9;2.11.0: not found
        ::::::::::::::::::::::::::::::::::::::::::::::
:: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
C:\Users\Scott Neville\Documents\fh\running_app\backend\build.xml:77: impossible to resolve dependencies:

这是用常春藤做的。xml格式:

<ivy-module version="2.0">
  <info organisation="uk.co.worldsofwar" module="sipsoc"/>
  <dependencies>
    <dependency org="org.eclipse.jetty" name="jetty-http" rev="9.4.9.v20180320"/>
    <dependency org="org.eclipse.jetty" name="jetty-annotations" rev="9.4.9.v20180320" />
    <dependency org="org.eclipse.jetty" name="jetty-webapp" rev="9.4.9.v20180320" />
    <dependency org="org.freemarker" name="freemarker" rev="2.3.28" />
    <dependency org="org.glassfish.jersey.core" name="jersey-server" rev="2.27" />
    <dependency org="org.glassfish.jersey.containers" name="jersey-container-servlet" rev="2.27" />
    <dependency org="org.glassfish.jersey.media" name="jersey-media-json-jackson" rev="2.27" />
    <dependency org="com.auth0" name="java-jwt" rev="3.3.0" />
    <dependency org="com.zaxxer" name="HikariCP" rev="3.1.0" />
    <dependency org="org.postgresql" name="postgresql" rev="42.2.2" />
    <dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.11.0" />
    <dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.11.0" />



    <exclude org="*" ext="*" type="source" />
    <exclude org="*" ext="*" type="javadoc" />
    <exclude org="*" ext="*" type="tests" />

  </dependencies>
</ivy-module>

没有特殊的IVY设置。xml在起作用,只是从公共回购中收集的默认值。依赖关系解析是通过ant完成的,只是使用了一个非常标准的方法。Java运行时是版本8(JDK也是)。

共有1个答案

端木桐
2023-03-14

将依赖项配置添加到从测试依赖项拆分生成中,为我解决了这个问题:

在常春藤里。xml

<configurations>
  <conf name="build" description="development dependencies"/>
  <conf name="test" extends="build" visibility="private" description="testing dependencies"/>
</configurations>

<dependencies>
  <dependency org="org.apache.commons" name="commons-lang3" rev="3.9" conf="build->default"/>
  <dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.11.1" conf="build->default"/>
  <dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.11.1" conf="build->default"/>

  <dependency org="junit" name="junit" rev="4.12" conf="test->default"/>
  <dependency org="org.hamcrest" name="hamcrest" rev="2.1" conf="test->default"/>
</dependencies>

内置。用于解决依赖关系的xml:

<target name="resolve" depends="init-ivy" description="resolve project dependencies">
  <ivy:resolve file="${ivy.file}"/>
  <ivy:retrieve sync="true" type="jar, bundle" pattern="lib/[conf]/[artifact].[ext]"/>
</target>

这将把依赖项放在一个文件夹结构中,该结构便于ant独立编译测试和构建源代码:
。/lib/build/
。/lib/test/

我用作模板的示例存储库

 类似资料:
  • 我正在尝试使用IVY,并且我已经在springsource工具套件中设置了我的IVY-de。 在尝试构建我的工作空间时,我得到了以下错误。 说明资源路径位置类型类路径发布/导出依赖项C:/Users/user1/.ivy2/cache/jstl/jstl.jars/jstl-1.2.jar无效。项目包含另一个具有相同存档名称的依赖项。Web P/Web类路径依赖关系验证器消息 在这方面,我们非常感

  • 我无法使用Apache Ivy解决我的vaadin 7项目。每当我尝试时,它都会显示一个错误框,其中显示 “常春藤解决”遇到了一个问题。某些项目无法解决。 在单击错误框上的“详细信息”按钮时,我得到了以下附加信息 某些项目无法解决无法解决com.example#v7proj;的依赖项;working@User无法解析的依赖项:com.vaadin#vaadin客户端已编译;7.6.2:未找到未解析

  • 我作为一个Maven新手,我正在玩我自己的本地Sonartype Nexus。我已经将我的maven安装配置为使用它作为代理,并且在解决我的< code>pom.xml中的以下依赖关系时,它对于一个简单的测试项目工作得很好 接下来,我尝试了一个类似的项目 在.常春藤使用与代理相同的Nexus服务器(在中配置.xml) 但是,在运行ant时,它无法解析 我已经尝试在Nexus安装中添加更多的远程存储

  • 我无法通过终端用Ant编译源代码,因为尽管我发出了“Ant resolve or Ant retrieve”,但依赖项似乎没有正确解析? 下面是我的build.xml和ivy.xml 编译文件 ivy.xml 当我运行“ant-compile”时,on-compiling ant抱怨它找不到作为tomcat一部分的“Servlet Context”。jar或“TObject”、“THashMap”

  • 问题内容: 我在ivaven.xml中添加了一个依赖项(让我们将其命名为A),它在maven Central中具有一个pom文件。Ivy使用ibiblio解决了Maven依赖关系。添加到ivy.xml的依赖项(A)具有传递的依赖项(B)。到目前为止,到目前为止很好。常春藤无法解决传递性依赖项(B)的依赖项(C)。 我在ivy.xml中定义了A,如下所示: 在B的pom文件中,在编译和测试范围中都定

  • 我有一个简单的文件: 其中是我的配置名称,是映射的Maven类型。这被正确解析并给我这些文件: 现在,我必须添加这个依赖项: 它将< code>validation-api作为其依赖项,与我在顶部指定的相同。 艾薇解决了这个问题,给了我这些文件: 但这次没有检索到文件。为什么?我认为这个文件没有冲突……我应该怎么做才能拥有和jar(二进制和源代码)?