![](/img/trans.png)
[英]Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project grpc_hello_server: Compilation failure
[英]MAVEN BUILD FAILURE: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) : Compilation failure
我正在嘗試構建 REST API,使用 java 開源框架和必要的配置。這將能夠構建和測試第一個 web 服務。 克隆項目並下載所有必需的依賴項后,我嘗試使用 maven 使用以下命令構建一個 war 文件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;
}
}
有人可以幫忙嗎!
在 pom.xml 中添加 Java 11 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>
克隆項目並再次下載所有必需的依賴項后.. 使用 maven 使用命令mvn clean package
生成 war 文件。
對於 Java 8 用戶,請掃描您的類路徑以查找潛在沖突的 jaxb 庫。
例如,執行mvn dependency:tree
並驗證不存在其他可能與 JRE 中的 JAXB 實現沖突的 JAXB 實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.