Создать pom.xml файл

#ant #maven-2 #sonarqube

#ant #maven-2 #sonarqube

Вопрос:

Не мог бы кто-нибудь дать мне несколько советов о том, как создать pom.xml файл для многомодульного проекта, то есть сборки с помощью ant? Мне нужно создать это pom.xml файл для анализа проекта с помощью Sonar.

Ответ №1:

Я предлагаю следовать инструкциям из документации Sonar. Смотрите раздел Анализ проектов Java:

Проект с несколькими исходными каталогами

Если ваш проект, не относящийся к maven, содержит более одного каталога исходных текстов, вы можете указать, какие каталоги исходных текстов анализировать, добавив новый раздел о плагине Build Helper Maven в свой pom.xml файл :

 <project xmlns="http://maven.apache.org/POM/4.0.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>[YOUR.ORGANIZATION]</groupId>
  <artifactId>[YOUR.PROJECT]</artifactId>
  <name>[YOUR PROJECT NAME]</name>
  <version>[YOUR PROJECT VERSION]</version>
  <build>
        <sourceDirectory>[YOUR SOURCE DIRECTORY]</sourceDirectory>
        <outputDirectory>[YOUR CLASSES/BIN DIRECTORY</outputDirectory>
        <plugins>
           <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                  <source>1.5</source>
                  <target>1.5</target>
                  <excludes>
                      <exclude>**/*.*</exclude>
                  </excludes>
              </configuration>
           </plugin>
           <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>build-helper-maven-plugin</artifactId>
              <version>1.1</version>
              <executions>
                <execution>
                  <id>add-source</id>
                  <phase>generate-sources</phase>
                  <goals>
                      <goal>add-source</goal>
                  </goals>
                  <configuration>
                      <sources>
                          <source>[YOUR SOURCE DIRECTORY 2]</source>
                          <source>[YOUR SOURCE DIRECTORY 3]</source>
                      </sources>
                  </configuration>
                </execution>
              </executions>
           </plugin>
        </plugins>
  </build>
  <properties>
        <sonar.dynamicAnalysis>false</sonar.dynamicAnalysis>
        <sonar.phase>generate-sources</sonar.phase>
  </properties>
</project>
  
  • Замените параметры :

  • И запустите плагин maven2, как описано в руководстве по установке :

     mvn sonar:sonar
      

Ответ №2:

Теперь есть задача Sonar Ant, которую вы можете использовать, или есть также Sonar Runner

Ответ №3:

Что вы вкладываете в pom.xml это будет зависеть от того, какие зависимости вам нужно использовать и какие плагины вам нужно запустить. Ознакомьтесь с введением к POM, чтобы увидеть, из чего оно состоит.

Комментарии:

1. Да, вы правы, но я немного запутался в том, как я должен указывать исходный каталог для каждого модуля.

Ответ №4:

Я думаю, вы можете попробовать использовать builder-helper-maven-plugin, на данный момент последняя версия 1.5. как документировано http://docs.codehaus.org/display/SONAR/Analyzing Java Projects. Однако просто измените версию плагина на 1.5 и используйте mvn sonar3:sonar. Самое главное, не забудьте <sonar.phase> создать исходные файлы</sonar.phase>, без этого это не сработает.

что касается выходного каталога, при использовании eclipse вы можете указать выходной каталог для каждого модуля и сделать так, чтобы они указывали на одну и ту же папку. Используйте эту папку в качестве выходного каталога для pom.xml . не забудьте отключить очистку, если используете eclipse.