2010-05-12 2 views
3

Я пытаюсь использовать плагин Maven для любителей животных, чтобы убедиться, что код совместим с JDK1.4. Следующая конфигурация работает:Maven animal sniffer plugin

<plugin> 
    <groupId>org.jvnet</groupId> 
    <artifactId>animal-sniffer</artifactId> 
    <version>1.2</version> 
    <configuration> 
     <signature> 
     <groupId>org.jvnet.animal-sniffer</groupId> 
     <artifactId>java1.4</artifactId> 
     <version>1.0</version> 
     </signature> 
    </configuration> 
    </plugin> 

Однако это, используя старую org.jvnet версию плагина. Когда я пытаюсь использовать новую версию org.codehaus.mojo

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>animal-sniffer-maven-plugin</artifactId> 
    <version>1.5</version> 
    <configuration> 
     <signature> 
     <groupId>org.jvnet.animal-sniffer</groupId> 
     <artifactId>java1.4</artifactId> 
     <version>1.0</version> 
     </signature> 
    </configuration> 
    </plugin> 

Я получаю ошибку

[INFO] Failed to resolve artifact. 

GroupId: org.codehaus.mojo.animal-sniffer 
ArtifactId: java1.4 
Version: 1.0 

Обратите внимание, что это артефакт, упомянутый в разделе <signature>, а не сам плагин. Этот же артефакт упоминается в обеих версиях, поэтому я не понимаю, почему он не найден при использовании новой версии.

Кто-нибудь успешно настроил этот плагин для работы при использовании новой версии?

Спасибо, Дон

ответ

11

Используйте подпись от Codehaus:

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
     <source>1.4</source> 
     <target>1.4</target> 
     </configuration> 
    </plugin> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>animal-sniffer-maven-plugin</artifactId> 
     <version>1.5</version> 
     <executions> 
     <execution> 
      <id>check-java-version</id> 
      <phase>verify</phase> 
      <goals> 
      <goal>check</goal> 
      </goals> 
      <configuration> 
      <signature> 
       <groupId>org.codehaus.mojo.signature</groupId> 
       <artifactId>java14</artifactId> 
       <version>1.0</version> 
      </signature> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 
+0

Спасибо много, что, кажется, работает. Тем не менее, плагин генерирует безумное количество протоколирования, которое добавляет около 1 минуты к моей сборке. Есть ли способ подавить это? –

+0

@ Don Я не знаю, как это сделать. Я предлагаю создать проблему с Jira: http://jira.codehaus.org/browse/MANIMALSNIFFER –

+0

@Pascal - я проверил JIRA, и проблема в этой проблеме уже решена. Тем не менее, он еще не выпущен. –

Смежные вопросы