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

Jenkins插件使用来自另一个插件的类,而不是Maven依赖

公良征
2023-03-14

BFA插件似乎仍然使用jackson2-api插件中的jackson类,而不是直接依赖maven。导致https://issues.jenkins-ci.org/browse/jenkins-62214在MongoJack内部的导入中使用了错误的jackson版本,导致缺少方法:

java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.introspect.Annotated.getGenericType()Ljava/lang/reflect/Type;
    at org.mongojack.internal.MongoAnnotationIntrospector.getTypeForAnnotated(MongoAnnotationIntrospector.java:81)
    at org.mongojack.internal.MongoAnnotationIntrospector.findDeserializer(MongoAnnotationIntrospector.java:97)

Jenkins的类路径中Jackson2-api插件的依赖性是否更高?

共有1个答案

谯嘉懿
2023-03-14

不能直接回答您的问题,但是运行MVN Dependency:AnalyseMVN Dependency:Tree应该对您有所指导。

分析报告:

[INFO] --- maven-dependency-plugin:3.1.1:analyze (default-cli) @ build-failure-analyzer ---
[WARNING] Used undeclared dependencies found:
[WARNING]    com.fasterxml.jackson.core:jackson-annotations:jar:2.10.2:compile
[WARNING]    com.fasterxml.jackson.core:jackson-databind:jar:2.10.2:compile
[WARNING] Unused declared dependencies found:
[WARNING]    org.jenkins-ci.plugins:jackson2-api:jar:2.10.2:compile

依赖项:树报告(选择性列表):

[WARNING] Using Maven 2 dependency tree to get verbose output, which may be inconsistent with actual Maven 3 resolution
[INFO] com.sonyericsson.jenkins.plugins.bfa:build-failure-analyzer:hpi:1.27.2-SNAPSHOT
[INFO] +- com.sonyericsson.hudson.plugins.gerrit:gerrit-trigger:jar:2.27.5:compile
 ...
[INFO] +- org.jenkins-ci.plugins:slack:jar:2.30:compile
[INFO] |  +- (org.jenkins-ci.plugins:jackson2-api:jar:2.9.9.1:compile - omitted for conflict with 2.10.2)
 ...
[INFO] +- org.mongodb:mongo-java-driver:jar:3.8.2:compile
[INFO] +- org.mongojack:mongojack:jar:2.9.4:compile
[INFO] |  +- org.mongodb:mongodb-driver:jar:3.8.0:compile
[INFO] |  |  +- org.mongodb:bson:jar:3.8.0:compile
[INFO] |  |  \- org.mongodb:mongodb-driver-core:jar:3.8.0:compile
[INFO] |  |     \- (org.mongodb:bson:jar:3.8.0:compile - omitted for duplicate)
[INFO] |  +- de.undercouch:bson4jackson:jar:2.9.2:compile
[INFO] |  |  \- (com.fasterxml.jackson.core:jackson-core:jar:2.9.3:compile - omitted for conflict with 2.9.9)
[INFO] |  +- javax.persistence:persistence-api:jar:1.0.2:compile
[INFO] |  \- commons-io:commons-io:jar:2.6:compile
[INFO] +- org.jenkins-ci.plugins:jackson2-api:jar:2.10.2:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.10.2:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.10.2:compile
[INFO] |  |  \- (com.fasterxml.jackson.core:jackson-core:jar:2.10.2:compile - omitted for duplicate)
[INFO] |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.2:compile
[INFO] |  |  +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.10.2:compile - omitted for duplicate)
[INFO] |  |  +- (com.fasterxml.jackson.core:jackson-core:jar:2.10.2:compile - omitted for duplicate)
[INFO] |  |  \- (com.fasterxml.jackson.core:jackson-databind:jar:2.10.2:compile - omitted for duplicate)
[INFO] |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.2:compile
[INFO] |  |  +- (com.fasterxml.jackson.core:jackson-core:jar:2.10.2:compile - omitted for duplicate)
[INFO] |  |  \- (com.fasterxml.jackson.core:jackson-databind:jar:2.10.2:compile - omitted for duplicate)
[INFO] |  +- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.10.2:compile
[INFO] |  |  +- (com.fasterxml.jackson.core:jackson-core:jar:2.10.2:compile - omitted for duplicate)
[INFO] |  |  \- (com.fasterxml.jackson.core:jackson-databind:jar:2.10.2:compile - omitted for duplicate)
[INFO] |  +- com.fasterxml.jackson.core:jackson-core:jar:2.10.2:compile
[INFO] |  \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.10.2:compile
[INFO] |     +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.10.2:compile - omitted for duplicate)
[INFO] |     +- (com.fasterxml.jackson.core:jackson-core:jar:2.10.2:compile - omitted for duplicate)
[INFO] |     +- (com.fasterxml.jackson.core:jackson-databind:jar:2.10.2:compile - omitted for duplicate)
[INFO] |     +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
[INFO] |     |  \- (jakarta.activation:jakarta.activation-api:jar:1.2.1:compile - omitted for duplicate)
[INFO] |     \- jakarta.activation:jakarta.activation-api:jar:1.2.1:compile
 类似资料:
  • 我想创建一个自动应用其他插件(外部插件)的插件。这需要在调用“apply plugin”之前设置插件的buildscript依赖项。然而,我似乎无法在插件中添加buildscript依赖项,或者我得到:您无法更改未处于未解析状态的配置! 有解决办法吗? 我的示例(非工作)代码:

  • 我想执行一个maven版本,在运行于jdk 1.7的Jenkins安装上编译java 1.8代码 我有一个使用JDK参数插件用Java1.8编译的项目。它在进行常规构建时有效。 当我使用maven发布插件进行maven发布时,它会将JVM与java 1.7相结合,而不是插件上指定的版本。我猜它需要环境中的java版本。 如果我将JAVA_HOME for the job设置为1.8,它就会工作。

  • 我正在将我的项目从Maven2(2.2.1)迁移到Maven3(3.1.0),我在jar版本上遇到了一些问题。当我试图追踪这个问题时,我从依赖插件中发现了一些不一致的结果,这让我很困惑。 当我在Maven3中尝试以下命令时: 结果是: 因此,结果表明将使用commons-codec-1.3.jar。(Maven3在打包时确实包含commons-codec-1.3.jar)。 但是,如果我将选项(-

  • Maven依赖项处理(即下载)是否通过插件完成 Maven是否在秘密使用依赖插件(https://maven.apache.org/plugins/maven-dependency-plugin/)?

  • 问题内容: 我正在创建一个基于测验的系统,该系统的一部分包括2个表: Answer_bank表: 和Question_bank表: 目的是允许某人创建一个问题和一个答案,答案将以等于的形式存储在答案库表中。我不想在同一张表中使用它,因为这会使我变得更加复杂。 我尝试使用以下PDO / SQL插入两个表中。 不过这个问题我已经是在表总是插入,而不是相同的ID 。这是这样做的不正确方法吗?答案表包括?