2013-08-13 2 views
0

Im пытается добавить modelgen баночки моей Maven проект, чтобы позволить автоматическую генерацию класса Metamodel однако я получаю следующее сообщение об ошибке при попытке компиляции проекта:Как преодолеть ошибки подписи Maven org.eclipse.persistence JAR

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> 

NB. Все отлично работает с nosql и eclipselink, его просто, когда я добавляю modelgen.

ответ

1

ОК, насколько я могу судить, я был прав, проблема была вызвана различием подписи в файлах JAR. Как это может случиться в библиотеке, популярной как eclipselink, вне меня, но эй.

Моим решением было использовать моментальный снимок, поскольку они, как правило, не подписаны. Учитывая, что я не смог получить моментальный снимок из центра, я использовал следующий репо для его получения;

<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> 
0

Добавить следующую зависимость в П

<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> 
Смежные вопросы