我想扩展sonar.sources
,默认情况下是pom.xml,src/main/java
,src/main/resources
以检查位于此处的XML文件。
由于我有一个多模块maven项目(>
100个模块,嵌套),其中很多没有src/main/resources
文件夹,而大多数甚至没有src
文件夹(例如,对于Packaging = pom
),因此,看似简单的任务却变得非常困难。)。如果设置sonar.sources
为pom.xml,src/main/java,src/main/resources
或,则会导致生成错误pom.xml,src/main
:
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.5:sonar (default-cli) on project xyz-parent: The directory 'C:\...\submodule\src\main\resources' does not exist for Maven module ... Please check the property sonar.sources -> [Help 1]
sonar-maven-plugin本身${project.build.sourceDirectory}
可以在每个模块中正确执行此操作。
我试图用正则表达式来设置sonar.sources
,以src/main
通过切断/java
(或\java
通过在Windows上)
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>regex-property</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>sonar.sources</name>
<value>${project.build.sourceDirectory}</value>
<regex>[/\\]+java$</regex>
<replacement></replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
但这无济于事,我也不知道应将其绑定到哪个生命周期阶段以使其执行。
还是有一种方法来避免由于缺少目录而导致的错误sonar.sources
?根据当前的sonar-
maven源,仅当POM具有pom
打包但没有打包ear
或jar
没有资源的模块时,才会忽略缺少的目录。
还是应该src/main
在声纳启动之前确保存在?我可以使用哪个钩子?
您可以执行的操作之一:
sonar.sources
成为 .
sonar.inclusions
成为 src/main/**
src/main
文件夹中的模块中找到的所有已知文件(如果存在)sonar.exclusions
或sonar.inclusions
我有一个多模块项目和一个家长pom。xml及其两个模块。项目jar和项目。战争所有测试用例都在项目中。罐子当我运行mvn声纳时。母舰pom上的声纳目标,jacoco。未生成exec,代码覆盖率为空。我在父pom中具有以下属性。 请帮忙。我使用的是Sonarqube 4.2。
我曾广泛使用过Maven 目前有5个不同的maven项目,每个项目都有一个不同的pom.xml。到目前为止,它们之间存在依赖关系,如果需要,每一个都指向 中的另一个。 现在我们不喜欢的是 当我们发布子projectA时,我们需要手动修改所有将projectA作为依赖项的项目以使用新版本。Saw Maven有一个版本插件,不知道这会有什么帮助。 作为解决方案,我希望在POM之间有一个更干净的组织,并
我有一个多模块maven应用程序,我们需要通过Jenkins构建。项目结构如下: 现在,mvn清洁安装-fa.xml工作正常。为此,我创建了一个詹金斯的工作。现在,和a.xml一样,我有另一个项目b.xml.b.xml有和a.xml相同的代码,除了不同的Ids。所以,我又为詹金斯创造了一份工作b.xml.两份工作都很好。但是,现在我想根据我们在Git中提交的项目,从单个Jenkins工作中构建这两
我这里有一个多模块maven项目。 父项目共有3个模块,with-paranamer,with-paranamer。 下面是项目的结构。 我想使用exec-maven-plugin在withon-paranamer模块中执行类。因此,我在这里的parent pom.xml中的pluginManagement下添加了exec-maven-plugin。 在unit-paranamer模块中,我添加了
给定以下示例多模块项目: aggr/pom.xml(版本1.0-快照) aggr/父/pom.xml(2.0版-快照) aggr/app/pom.xml(版本3.0-SNAPSHOT) aggr/comp1/pom.xml(版本4.0-SNAPSHOT) 其中 parent 是任何其他 pom 的父级,并且应用具有 comp1 的依赖项。 通过发布发布:只要aggr文件夹在svn存储库中具有相同的
关于maven项目结构,我有两个问题: 1)我正在创建一个maven多模块项目,并且想知道是否可以将模块的所有公共依赖项放在父POM中?这是正确的做法吗? 2)如果我正在创建一个包含所有web.xml和JSP文件的maven webapp项目,那么web控制器、侦听器和模型对象应该驻留在哪里?在一个单独的maven jar项目中还是在同一个webapp项目中?