【发布时间】:2023-03-14 05:27:01
【问题描述】:
谁能给我一些关于如何为多模块项目创建 pom.xml 文件的建议,即用 ant 构建的?我需要创建这个 pom.xml 文件以便使用 Sonar 分析项目。
【问题讨论】:
谁能给我一些关于如何为多模块项目创建 pom.xml 文件的建议,即用 ant 构建的?我需要创建这个 pom.xml 文件以便使用 Sonar 分析项目。
【问题讨论】:
我建议按照 Sonar 文档中的说明进行操作。见Analyzing Java Projects:
具有多个源目录的项目
如果您的非 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
【讨论】:
现在有一个Sonar Ant Task 可以使用,或者还有Sonar Runner
【讨论】:
您放入 pom.xml 的内容将取决于您需要运行的 dependencies you need to use 和 plugins 的内容。查看Intro to POM 看看它是由什么组成的。
【讨论】:
我认为你可以尝试使用builder-helper-maven-plugin,目前最新版本是1.5。
如记录的http://docs.codehaus.org/display/SONAR/Analyzing+Java+Projects。但是,只需将插件版本更改为 1.5 并使用 mvn sonar3:sonar。最重要的是,别忘了
关于输出目录,如果使用eclipse,可以为每个模块指定输出目录,并使其指向同一个文件夹。将此文件夹用作 pom.xml 的输出目录。如果使用 eclipse,请记住禁用擦洗。
【讨论】: