MAVEN BUILD FAILURE: не удалось выполнить цель org.apache.maven.plugins: maven-compiler-plugin: 3.0: compile (default-compile): ошибка компиляции - PullRequest
1 голос
/ 16 марта 2019

Я пытаюсь создать REST API, используя java-фреймворки с открытым исходным кодом и необходимые конфигурации. Это позволит создать и протестировать первый веб-сервис.После клонирования проекта и загрузки всех необходимых зависимостей я попытался создать файл war, используя maven, используя следующую команду
mvn clean package
Но после этого были сгенерированы следующие ошибки компиляции

C:\Users\lenovo\Desktop\REST>mvn clean package
[INFO] Scanning for projects...
[INFO] Building REST services 1.0
[INFO] --------------------------------[ war ]---------------------------------
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ rest ---
[INFO] Deleting C:\Users\lenovo\Desktop\REST\target
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rest ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ rest ---
[INFO] Compiling 10 source files to C:\Users\lenovo\Desktop\REST\target\classes
[ERROR] COMPILATION ERROR :
[ERROR] /C:/Users/lenovo/Desktop/REST/src/main/java/com/ami/entity/Product.java:[5,33] package javax.xml.bind.annotation does not exist
[ERROR] /C:/Users/lenovo/Desktop/REST/src/main/java/com/ami/entity/Product.java:[40,6] cannot find symbol
symbol:   class XmlAttribute
 location: class com.ami.entity.Product
[ERROR] /C:/Users/lenovo/Desktop/REST/src/main/java/com/ami/entity/Product.java:[50,6] cannot find symbol
symbol:   class XmlAttribute
location: class com.ami.entity.Product

Вышеупомянутое местоположение:

package com.ami.entity;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlAttribute;


@Entity
@Table(name = "product")
public class Product implements java.io.Serializable {
private static final long serialVersionUID = -2107661175822965352L;
 private String itemId;
 private String itemName;
private String itemDesc;
private String createdBy;
private String updatedBy;
private Date createdAt;
private Date updatedAt;
public Product() {
}


@Id
@Column(name = "id", unique = true, nullable = false)
public String getItemId() {
    return this.itemId;
}
public void setItemId(String catGuid) {
    this.itemId = catGuid;
}

@Column(name = "name", unique = true, nullable = false)
@XmlAttribute(name="name")
public String getItemName() {
    return this.itemName;
}

public void setItemName(String catName) {
    this.itemName = catName;
}

@Column(name = "description", nullable = false)
@XmlAttribute(name="description")
public String getItemDesc() {
    return this.itemDesc;
}

public void setItemDesc(String catDesc) {
    this.itemDesc = catDesc;
}

@Column(name = "created_by")
public String getCreatedBy() {
    return this.createdBy;
}

public void setCreatedBy(String createdBy) {
    this.createdBy = createdBy;
}

@Column(name = "updated_by")
public String getUpdatedBy() {
    return this.updatedBy;
}

public void setUpdatedBy(String updatedBy) {
    this.updatedBy = updatedBy;
}

@Column(name = "created_at")
public Date getCreatedAt() {
    return this.createdAt;
}

public void setCreatedAt(Date createdAt) {
    this.createdAt = createdAt;
}

@Column(name = "updated_at")
public Date getUpdatedAt() {
    return this.updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
    this.updatedAt = updatedAt;
}


}

Может кто-нибудь, пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Добавление утилит класса Java 11 XML в pom.xml решило мою проблему.Следующая часть кода добавлена ​​в существующий файл pom.xml:

<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0</version>
</dependency>

После клонирования проекта и повторной загрузки всех необходимых зависимостей .. файл war генерируется с помощью maven с помощью команды mvn clean package.

0 голосов
/ 16 марта 2019

Для вас, как пользователя Java 8, просканируйте ваш путь к классам для потенциально конфликтующих библиотек jaxb.

Например, выполните mvn dependency:tree и убедитесь, что отсутствуют другие реализации JAXB, которые могут конфликтовать с теми, которыепроживать в вашей JRE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...