【发布时间】:2020-09-26 11:42:55
【问题描述】:
我有一些代码使用:
import javax.persistence.*;
我在 pom.xml 中有以下依赖项:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.15.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.2.Final</version>
</dependency>
我可以使用“mvn compile”进行编译,但是当我尝试“mvn package”时,出现以下错误:
[WARNING] Used undeclared dependencies found:
[WARNING] javax.persistence:javax.persistence-api:jar:2.2:compile
[WARNING] Unused declared dependencies found:
[WARNING] org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.2.Final:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
我从 hibernate-jpa-2.1-api 检查了 jar,它确实包含 javax.persistence.* 类。
那么,为什么 Maven 不接受这是要使用的 jar 并坚持要使用 javax.persistence-api 呢?
如果我尝试切换到 javax.persistence:javax.persistence-api:jar:2.2 而不是 hibernate 的,我会从“mvn package”中得到很多错误,如下所示:
[WARNING] Found duplicate (but equal) classes in [jakarta.xml.bind:jakarta.xml.bind-api:2.3.3, javax.xml.bind:jaxb-api:2.3.1]:
[WARNING] javax.xml.bind.DatatypeConverterInterface
[WARNING] javax.xml.bind.Element
[WARNING] javax.xml.bind.JAXBContextFactory
[WARNING] javax.xml.bind.Marshaller
[WARNING] javax.xml.bind.NotIdentifiableEvent
[WARNING] javax.xml.bind.ParseConversionEvent
[WARNING] javax.xml.bind.PrintConversionEvent
[WARNING] javax.xml.bind.Unmarshaller
[WARNING] javax.xml.bind.UnmarshallerHandler
[WARNING] javax.xml.bind.ValidationEvent
[WARNING] javax.xml.bind.ValidationEventHandler
[WARNING] javax.xml.bind.ValidationEventLocator
[WARNING] javax.xml.bind.Validator
[WARNING] javax.xml.bind.annotation.DomHandler
[WARNING] javax.xml.bind.annotation.XmlAccessorOrder
[WARNING] javax.xml.bind.annotation.XmlAccessorType
[WARNING] javax.xml.bind.annotation.XmlAnyAttribute
[WARNING] javax.xml.bind.annotation.XmlAnyElement
[WARNING] javax.xml.bind.annotation.XmlAttachmentRef
[WARNING] javax.xml.bind.annotation.XmlAttribute
[WARNING] javax.xml.bind.annotation.XmlElement
[WARNING] javax.xml.bind.annotation.XmlElementDecl
[WARNING] javax.xml.bind.annotation.XmlElementRef
[WARNING] javax.xml.bind.annotation.XmlElementRefs
[WARNING] javax.xml.bind.annotation.XmlElementWrapper
<...lots more lines like this>
有什么想法吗?
【问题讨论】: