情况:
我想用由詹金斯(1.642.4)触发的SonarQube(5.4)分析我的项目。它是使用maven构建的Java项目。
我看到两种触发分析的方法:
问题:
如果我使用了不赞成使用的Post Build Action,那么声纳项目配置的属性会自动从项目pom派生。
我使用推荐的后期构建步骤,但收到异常
您必须为“未知”定义以下必需属性:sonar.projectKey,sonar.projectName,sonar.projectVersion,sonar.sources
不希望的解决方案 :
解决方案是通过java项目中的sonar-project.properties文件或Jenkins步骤中的参数提供所需的属性。
恕我直言:这是重复的。所有相关信息都在Maven
pom中定义:projectKey可以从artifactId派生,projectName和projectVerstion是maven中的相同属性。特别是projectVersion至关重要。我不想在每个发行版之后更新项目版本(或在发行插件中编写一些代码以自动更新它)。
我想要的是
我想在Jenkins中使用推荐的Post Build
Step,而无需为我的所有项目重新定义所有项目属性以使声纳开心。相反,声纳/詹金斯/插件/无论应该从我的Maven
pom文件中获取属性。我可以使用其他插件吗?我可以重新配置我的Jenkins-Sonar-Plugin吗?
我不想在pom /项目中提供任何声纳特定的信息,因为该项目不应该关心声纳。它应仅包含构建项目所需的信息。
该文档(尽管有些混乱,请参见下面的编辑)说明了如何使用通用的生成后步骤(利用环境变量),而不是不建议使用的生成后操作。简而言之:
Enable injection of SonarQube server configuration as build environment variables
Prepare SonarQube Scanner environment
Invoke top-level Maven targets
并在Goals
字段中利用注入的环境变量,例如: $ SONAR_MAVEN_GOAL -Dsonar.host.url = $ SONAR_HOST_URL -Dsonar.login = $
SONAR_AUTH_TOKEN
编辑
:当文档说时The Post-build Action for Maven analysis is deprecated.
,它是指 不再记录的旧的构建后 操作
。该警告之后的段落(对此答案进行了总结)确实是推荐的步骤。如果仍不清楚,请在此处进行说明。
情况: 我想用由Jenkins(1.642.4)触发的SonarQube(5.4)来分析我的项目。这是一个用Maven构建的java项目。 我看到了两种触发分析的方法: null 问题: 如果我使用不推荐使用的Post Build操作,则sonar项目配置的属性将自动从项目POM派生。 如果我使用推荐的构建后步骤,我将收到异常 必须为“Unknown”定义以下强制属性:Sonar.ProjectK
我只是使用SonarQube-Plugin for Jenkins并配置Jenkins作业来执行SonarQube扫描器。如果我在UI中保留analysis属性,而sonar-scanner.properties为空,则缺少强制属性。根据这个问题,至少应该从maven属性自动派生。如果我直接设置和属性,那么一切都可以正常工作。但是如何才能实现maven属性被插件使用呢? 编辑:如果我将UI中的分析
我将基于Maven的Spring应用打包为: 奇怪的事情发生了。在生成的jar的META-INF中,我发现重复的pom.xml和pom.properties文件。有人能解释一下吗?谢谢。 这里是提取pom.xml 命令的输出: ApacheMaven 3.0.4(r1232337;2012-01-17 15:44:56 0700)Maven主页:C:\Apache-Maven-3.0.4\bin。
我现在正在使用JavaFX,我正在跟随一个教程来学习Java的这一部分。不过,我有一个关于属性的问题: 如何正确处理JavaFX中的派生属性? 让我以一个例子来澄清。假设您有一个具有简单属性的模型: null 但是,表视图不接受整数,而只接受可观察的整数。如果有人更改用户的生日,我希望表自动更改。 我可以在中创建,但我不认为这是一个解决方案。我还可以在类中创建一个名为的,但我听起来不太对,因为ag
我有如下表格: 我创建了如下pojo类: 另一个类 现在,我尝试使用JOOQ从数据库中获取记录。但我无法将json组件字符串转换为组件类。 我正在读取下表中的数据: 在数据库中,我有以下记录。 获取数据时,我收到以下错误 我是JOOQ的新手。如果我错过了什么,请告诉我。提前谢谢。
和标题差不多。我在请求正文中有一个可选对象。但是,如果给定了该对象,则它必须包含几个子属性。 我的OpenAPI组件配置如下所示: 我正在使用express openapi validator来验证这一点。现在,我不明白这是否是express openapi validator包的问题,但可选字段(partner)的必填字段(名称、电话)从未验证过。我可以只提供合作伙伴:{},然后直接插入,或者甚