【问题标题】:package javax.xml.bind.annotation does not exist包 javax.xml.bind.annotation 不存在
【发布时间】:2022-04-08 14:27:37
【问题描述】:

我尝试使用命令 mvn clean install 通过 commandpromt 构建一个 springboot 应用程序,但它给出了以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project infytel_demo7_a: Compilation failure: Compilation failure:
[ERROR] /C:/Users/shilpa.nair01/Desktop/spring boot lex/Spring REST demos with script/infytel_demo7_validation/infytel_demo7a/src/main/java/com/infytel/dto/PlanDTO.java:[3,33] package javax.xml.bind.annotation does not exist
[ERROR] /C:/Users/shilpa.nair01/Desktop/spring boot lex/Spring REST demos with script/infytel_demo7_validation/infytel_demo7a/src/main/java/com/infytel/dto/PlanDTO.java:[5,2] cannot find symbol
[ERROR] symbol: class XmlRootElement
[ERROR] /C:/Users/shilpa.nair01/Desktop/spring boot lex/Spring REST demos with script/infytel_demo7_validation/infytel_demo7a/src/main/java/com/infytel/dto/EntityList.java:[6,33] package javax.xml.bind.annotation does not exist
[ERROR] /C:/Users/shilpa.nair01/Desktop/spring boot lex/Spring REST demos with script/infytel_demo7_validation/infytel_demo7a/src/main/java/com/infytel/dto/EntityList.java:[7,33] package javax.xml.bind.annotation does not exist
[ERROR] /C:/Users/shilpa.nair01/Desktop/spring boot lex/Spring REST demos with script/infytel_demo7_validation/infytel_demo7a/src/main/java/com/infytel/dto/EntityList.java:[8,33] package javax.xml.bind.annotation does not exist
[ERROR] /C:/Users/shilpa.nair01/Desktop/spring boot lex/Spring REST demos with script/infytel_demo7_validation/infytel_demo7a/src/main/java/com/infytel/dto/EntityList.java:[10,2] cannot find symbol
[ERROR] symbol: class XmlRootElement
[ERROR] /C:/Users/shilpa.nair01/Desktop/spring boot lex/Spring REST demos with script/infytel_demo7_validation/infytel_demo7a/src/main/java/com/infytel/dto/EntityList.java:[11,2] cannot find symbol

我正在使用 java 8 和 spring boot 2.2.1.Release .PFB 图像。

PFB pom 文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.infytel</groupId>
    <artifactId>infytel_demo7_a</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>infytel_demo7_a</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Stuff related to XML serialization and deserialization -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
             <version>2.3.1</version>
        </dependency>
        <!-- Stuff related to XML serialization and deserialization -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>


    </dependencies>

    <build>
        <plugins>
        
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
            </plugin>
        </plugins>
    </build>

</project>

我做了以下事情: --> 试图从 .m2 文件夹中删除存储库。 -->在pom中添加了maven编译器插件。

我在 jaxb-api 文件夹中有这么多东西:

你能帮我解决这个问题吗?

【问题讨论】:

  • javax.xml.bind.annotation 包应该在jaxb-api jar 文件中。我会仔细检查.m2/repository 中该文件的副本是否是有效的 zip 文件并包含预期的类。
  • 能否请您提及 .m2/repository 文件夹中 jax-api 的路径
  • 我已经添加了有问题的截图
  • 它来自模块的组 ID、工件 ID 和版本。组 ID 中的 .s 替换为 /s。在这种情况下,这给出了.m2/repository/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar 的路径。 Maven 下载的每个依赖项都使用相同的模式。
  • 我在通过命令 promt 运行时遇到了这个问题。如果我通过 Eclipse 使用命令 clean install -X 运行它就成功了

标签: eclipse spring-boot maven pom.xml maven-plugin


【解决方案1】:

我使用的是 JDK 11,当我将 JAVA_HOME 和 Path 环境值指向 JDK 1.8.0_311 时。这个问题得到了解决。希望对你有帮助

【讨论】:

    猜你喜欢
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 2011-01-28
    • 2011-12-21
    • 2013-11-21
    相关资源
    最近更新 更多