使用 maven quarkus:dev 目标,为什么我会在 com.fasterxml.jackson.annotation 上得到一个未解决的问题
Using maven quarkus:dev target, why would I get an unresolved dep on com.fasterxml.jackson.annotation
一位同事向我们的内部 git 发布了一个 quarkus 项目。当我克隆 repo 并执行 'mvn compile quarkus:dev' 时,我得到:
$ mvn compile quarkus:dev
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< com.fnorb.api:rest-cloudpoc >------------------
[INFO] Building rest-cloudpoc 0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rest-cloudpoc ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ rest-cloudpoc ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 30 source files to C:\Bitbucket\INT\java-rest-cloudpoc\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Bitbucket/INT/java-rest-cloudpoc/src/main/java/com/fnorb/api/rest/cloudpoc/beans/DeriveTemplate.java:[4,40] package com.fasterxml.jackson.annotation does not exist
"fasterxml.jackson.annotation" 行重复 N 次,上限为 100。
还有
的实例
[ERROR] /C:/Bitbucket/INT/java-rest-cloudpoc/src/main/java/com/fnorb/api/rest/cloudpoc/beans/ObjectType.java:[18,2] cannot find symbol
symbol: class JsonInclude
dep 树显示:
[INFO] +- io.quarkus:quarkus-resteasy:jar:1.4.2.Final:compile
[INFO] | +- io.quarkus:quarkus-vertx-http:jar:1.4.2.Final:compile
....
[INFO] | | +- io.quarkus:quarkus-vertx-core:jar:1.4.2.Final:compile
[INFO] | | | +- io.quarkus:quarkus-netty:jar:1.4.2.Final:compile
....
[INFO] | | | \- io.vertx:vertx-core:jar:3.8.5:compile
....
[INFO] | | | \- com.fasterxml.jackson.core:jackson-core:jar:2.10.3:compile
这只是我的主机系统配置错误吗?在 Win10 和 Ubuntu 18.04 headless(Linux subsystem for Windows)和 Ubuntu 18.04.4 LTS native 上试过。
上面证明的技术(即,像 'beans'),我没有添加评论,假设我不了解该特定技术。如果您认为这与问题有关——太好了!但如果你需要我帮他们做点什么,就需要你帮忙。不要只说 "huh beans. You need to frog blast the vent core, the reticulator dependency hasn't been frinosticated yet",因为我只会点头、揉下巴、耸耸肩,尽量不对你嗤之以鼻。谢谢。
请告诉我哪里漏了一步!
编辑 1:请求 POM 依赖项
<version>0.1</version>
<properties>
<compiler-plugin.version>3.8.1</compiler-plugin.version>
<maven.compiler.parameters>true</maven.compiler.parameters>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<quarkus-plugin.version>1.4.2.Final</quarkus-plugin.version>
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.version>1.4.2.Final</quarkus.platform.version>
<surefire-plugin.version>2.22.1</surefire-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>${quarkus.platform.artifact-id}</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
并从相关文件之一的导入中请求导入:
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
不,不,您的主机没有配置错误。如果 Maven 项目本身设置正确,它们通常开箱即用。
首先,com.fasterxml.jackson.annotation
包不在 jackson-core
依赖项中,而是在 jackson-annotations
包中。
如果您正在使用 Quarkus,您将间接获得 jackson-annotations
依赖关系,如果您正在使用 ,例如 quarkus-smallrye-openapi
。但对我来说,你项目中的 class DeriveTemplate
似乎从 com.fasterxml.jackson.annotation
导入了一些东西,所以 jackson-annotations
应该直接在你的 pom.xml
中声明为依赖项。
如果这对您没有帮助,您应该 post 您的 pom.xml
以及 DeriveTemplate
的导入部分。
希望,我没有 放青蛙电容器 太多 ;-)
最有可能的是,缺少的依赖项如下所示:
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>jackson-annotations<artifactId>
<version>${your-desired-jackson-version}</version>
</dependency>
一位同事向我们的内部 git 发布了一个 quarkus 项目。当我克隆 repo 并执行 'mvn compile quarkus:dev' 时,我得到:
$ mvn compile quarkus:dev
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< com.fnorb.api:rest-cloudpoc >------------------
[INFO] Building rest-cloudpoc 0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rest-cloudpoc ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ rest-cloudpoc ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 30 source files to C:\Bitbucket\INT\java-rest-cloudpoc\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Bitbucket/INT/java-rest-cloudpoc/src/main/java/com/fnorb/api/rest/cloudpoc/beans/DeriveTemplate.java:[4,40] package com.fasterxml.jackson.annotation does not exist
"fasterxml.jackson.annotation" 行重复 N 次,上限为 100。
还有
的实例[ERROR] /C:/Bitbucket/INT/java-rest-cloudpoc/src/main/java/com/fnorb/api/rest/cloudpoc/beans/ObjectType.java:[18,2] cannot find symbol
symbol: class JsonInclude
dep 树显示:
[INFO] +- io.quarkus:quarkus-resteasy:jar:1.4.2.Final:compile
[INFO] | +- io.quarkus:quarkus-vertx-http:jar:1.4.2.Final:compile
....
[INFO] | | +- io.quarkus:quarkus-vertx-core:jar:1.4.2.Final:compile
[INFO] | | | +- io.quarkus:quarkus-netty:jar:1.4.2.Final:compile
....
[INFO] | | | \- io.vertx:vertx-core:jar:3.8.5:compile
....
[INFO] | | | \- com.fasterxml.jackson.core:jackson-core:jar:2.10.3:compile
这只是我的主机系统配置错误吗?在 Win10 和 Ubuntu 18.04 headless(Linux subsystem for Windows)和 Ubuntu 18.04.4 LTS native 上试过。
上面证明的技术(即,像 'beans'),我没有添加评论,假设我不了解该特定技术。如果您认为这与问题有关——太好了!但如果你需要我帮他们做点什么,就需要你帮忙。不要只说 "huh beans. You need to frog blast the vent core, the reticulator dependency hasn't been frinosticated yet",因为我只会点头、揉下巴、耸耸肩,尽量不对你嗤之以鼻。谢谢。
请告诉我哪里漏了一步!
编辑 1:请求 POM 依赖项
<version>0.1</version>
<properties>
<compiler-plugin.version>3.8.1</compiler-plugin.version>
<maven.compiler.parameters>true</maven.compiler.parameters>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<quarkus-plugin.version>1.4.2.Final</quarkus-plugin.version>
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.version>1.4.2.Final</quarkus.platform.version>
<surefire-plugin.version>2.22.1</surefire-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>${quarkus.platform.artifact-id}</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
并从相关文件之一的导入中请求导入:
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
不,不,您的主机没有配置错误。如果 Maven 项目本身设置正确,它们通常开箱即用。
首先,com.fasterxml.jackson.annotation
包不在 jackson-core
依赖项中,而是在 jackson-annotations
包中。
如果您正在使用 Quarkus,您将间接获得 jackson-annotations
依赖关系,如果您正在使用 ,例如 quarkus-smallrye-openapi
。但对我来说,你项目中的 class DeriveTemplate
似乎从 com.fasterxml.jackson.annotation
导入了一些东西,所以 jackson-annotations
应该直接在你的 pom.xml
中声明为依赖项。
如果这对您没有帮助,您应该 post 您的 pom.xml
以及 DeriveTemplate
的导入部分。
希望,我没有 放青蛙电容器 太多 ;-)
最有可能的是,缺少的依赖项如下所示:
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>jackson-annotations<artifactId>
<version>${your-desired-jackson-version}</version>
</dependency>