кто-нибудь получил плагин Animal Sniffer для работы? - PullRequest
2 голосов
/ 31 января 2010

Плагин maven-animal-sniffer обещает сообщить мне, есть ли в моем коде какие-либо ссылки на API Java 1.6 (или новее). Это важно для тех из нас, кто разрабатывает на MacOSX Snow Leopard (у которого только официальная версия 1.6), но нуждается в 1.5 средах.

К сожалению, когда я пытаюсь его использовать, я получаю сообщение о всех вызовах API Java как о нарушениях.

Я не единственный, кто испытывает эту проблему, но, видимо, многим другим это удается.

Если у кого-то есть рабочий фрагмент POM для этой цели, это будет действительно полезным ответом.

Обратите внимание, что я пытаюсь использовать версию, опубликованную в центральном (1.4), а не версию (1.2) в org.jvnet.

Ответы [ 2 ]

4 голосов
/ 01 февраля 2010

Я успешно использовал следующую конфигурацию для проекта, который должен был работать с 1.4 JVM:

<project>
  ...
  <properties>
    <jdk.level>1.4</jdk.level>
  </properties>
  ...
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.0.2</version>
          <configuration>
            <source>${jdk.level}</source>
            <target>${jdk.level}</target>
          </configuration>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.jvnet</groupId>
        <artifactId>animal-sniffer</artifactId>
        <version>1.2</version>
        <executions>
          <execution>
            <id>animal-sniffer</id>
            <phase>compile</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <signature>
                <groupId>org.jvnet.animal-sniffer</groupId>
                <artifactId>java${jdk.level}</artifactId>
                <version>1.0</version>
              </signature>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.jvnet.animal-sniffer</groupId>
            <artifactId>java${jdk.level}</artifactId>
            <version>1.0</version>
            <type>sig</type>
          </dependency>
        </dependencies>
      </plugin>
      ...
    </plugins>
  </build>
</project>
2 голосов
/ 15 декабря 2010

После борьбы с различными версиями Animal-Sniffer и сбора битов информации, связанной с ним отсюда и там, мне наконец-то удалось его использовать =)

Список доступных подписей и их maven координаты см.http://mojo.codehaus.org/signatures/.Нет необходимости объявлять зависимость от сигнатуры.

В следующем примере показана правильная конфигурация для ручной проверки mvn clean compile animal-sniffer: check) в Java 1.5:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>animal-sniffer-maven-plugin</artifactId>
    <version>1.6</version>
    <configuration>
        <signature>
            <groupId>org.codehaus.mojo.signature</groupId>
            <artifactId>java15</artifactId>
            <version>1.0</version>
        </signature>
    </configuration>
</plugin>

Следующий пример, помимо возможности проверки подписей вручную, также автоматически запускает цель проверки животных-сниффера на этапе проверки:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>animal-sniffer-maven-plugin</artifactId>
    <version>1.6</version>
    <configuration>
        <signature>
            <groupId>org.codehaus.mojo.signature</groupId>
            <artifactId>java15</artifactId>
            <version>1.0</version>
        </signature>
    </configuration>
    <executions>
        <execution>
            <id>animal-sniffer</id>
            <phase>verify</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...