#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.