0

我试图将modelgenjar 添加到我的 maven 项目以启用自动 Metamodel 类生成但是当我尝试编译项目时出现以下错误:

Failed to execute goal org.bsc.maven:maven-processor-plugin:2.2.4:process (process) on project Project-per: Error executing: java.lang.RuntimeException: java.lang.SecurityException: class "org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProperties"'s signer information does not match signer information of other classes in the same package

尽我所能确定 JAR 签名中最有可能导致此错误匹配。但是我不明白为什么或如何解决这个问题。

我的 POM(仅相关部分)

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>2.5.0-RC2</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.nosql</artifactId>
    <version>2.5.0-RC2</version>
    <type>jar</type>
</dependency>

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.jpa.modelgen</artifactId>
    <version>2.4.2</version>
</dependency>

注意。nosql 和 eclipselink 一切正常,就在我添加 modelgen 时。

4

2 回答 2

1

好的,我可以说我是对的,问题是由 JAR 文件中的签名差异引起的。这如何在像 eclipselink 这样流行的库上发生,这超出了我的理解,但是嘿。

我的解决方案是使用快照,因为它们通常没有签名。鉴于我无法从中央获取快照,我使用以下 repo 获取它;

<repository>
    <id>sonatype-snapshots</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.jpa.modelgen</artifactId>
    <version>2.6.0-SNAPSHOT</version>
</dependency>
于 2013-08-13T21:07:56.677 回答
0

将以下依赖项添加到 pom

<pluginExecution>
                    <pluginExecutionFilter>
                      <groupId>org.bsc.maven</groupId>
                      <artifactId>maven-processor-plugin</artifactId>
                      <versionRange>[2.2.4,)</versionRange>
                      <goals>
                        <goal>process</goal>
                      </goals>
                    </pluginExecutionFilter>
                    <action>
                      <ignore />
                    </action>
</pluginExecution>
于 2016-04-18T17:14:45.230 回答