{"id":283,"date":"2026-10-13T08:21:16","date_gmt":"2026-10-13T08:21:16","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2010\/09\/14\/sonar-maven-plugin-10-beta-2\/"},"modified":"2026-10-13T08:21:16","modified_gmt":"2026-10-13T08:21:16","slug":"sonar-maven-plugin-10-beta-2","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/sonar-maven-plugin-10-beta-2\/","title":{"rendered":"Sonar Maven Plugin 1.0-beta-2: What Changed for Archiva\/Nexus-Based Builds"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">If you maintain older Maven + Sonar build pipelines, this 2010 update is important: Sonar Maven Plugin <strong>1.0-beta-2<\/strong> reduced extra repository-manager setup compared with beta-1. This guide summarizes the confirmed changes, shows the beta-1 vs beta-2 flow, and provides practical legacy command\/config examples.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Originally published on 2010-09-14; fully revised and updated.<\/em><\/p>\n\n\n\n<figure class='wp-block-image size-full'><img src='https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2010\/09\/sonar-maven-plugin.png' alt='Sonar Maven Plugin release graphic' width='600' height='400' \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Original announcement: <a href='https:\/\/www.devopsschool.com\/blog\/sonar-maven-plugin-10-beta-2\/'>Sonar team released Sonar Maven Plugin 1.0-beta-2<\/a>. The source post is brief, so this rewrite focuses on the explicit facts provided there and practical interpretation for legacy environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What changed in Sonar Maven Plugin 1.0-beta-2<\/h2>\n\n\n\n<ul class='wp-block-list'>\n<li>The Sonar team announced <strong>Sonar Maven Plugin 1.0-beta-2<\/strong>.<\/li>\n<li>The release aimed to make configuration easier when using repository managers such as <strong>Archiva<\/strong> or <strong>Nexus<\/strong>.<\/li>\n<li>Compared with beta-1, the post states that <strong>no additional settings<\/strong> were required anymore for that scenario.<\/li>\n<li>This improvement requires <strong>Sonar 2.2 or newer<\/strong>.<\/li>\n<li>When used with Sonar 2.1 or older, the improvement is <strong>automatically disabled<\/strong>.<\/li>\n<li>Upgrade behavior should be automatic when using the shortcut command <code>mvn sonar:sonar<\/code> or the Hudson plugin.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Beta-1 vs beta-2 behavior at a glance<\/h2>\n\n\n\n<figure class='wp-block-table'><table class='has-fixed-layout'><thead><tr><th>Area<\/th><th>1.0-beta-1 (as described)<\/th><th>1.0-beta-2 (as described)<\/th><\/tr><\/thead><tbody><tr><td>Repository-manager setup<\/td><td>Needed extra configuration (mirror in Maven settings or extra repository in the manager)<\/td><td>No additional settings required for that use case<\/td><\/tr><tr><td>Sonar server compatibility for this improvement<\/td><td>Not specified in the source post<\/td><td>Requires Sonar 2.2 or newer<\/td><\/tr><tr><td>Behavior on Sonar 2.1 or older<\/td><td>Not specified in the source post<\/td><td>Improvement is automatically disabled<\/td><\/tr><tr><td>Upgrade path<\/td><td>Not specified in the source post<\/td><td>Should be automatic via <code>mvn sonar:sonar<\/code> or Hudson plugin usage<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Compatibility and execution flow<\/h2>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Start analysis with mvn sonar:sonar] --> B{Plugin path}\n    B -- beta-1 style --> C[Extra repo config often needed]\n    B -- beta-2 style --> D[No extra repo settings for this case]\n    C --> E{Sonar 2.2 or newer}\n    D --> E\n    E -- yes --> F[Improvement active]\n    E -- no --> G[Improvement disabled]\n    F --> H[Analysis continues]\n    G --> H\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Legacy command and configuration examples<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Run analysis using the shortcut<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css language-bash\"><span class=\"hljs-selector-tag\">mvn<\/span> <span class=\"hljs-selector-tag\">sonar<\/span><span class=\"hljs-selector-pseudo\">:sonar<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The original post says upgrade behavior should be automatic when this shortcut is used.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example of the kind of extra Maven mirror setup beta-1 often required<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The source does not publish exact XML snippets. The following is an <strong>illustrative pattern<\/strong> of mirror configuration that teams commonly used in locked-down environments with repository managers:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">settings<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">mirrors<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">mirror<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">id<\/span>&gt;<\/span>company-repo<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">id<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">mirrorOf<\/span>&gt;<\/span>*<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">mirrorOf<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">url<\/span>&gt;<\/span>https:\/\/repo.example.com\/maven2<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">url<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">mirror<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">mirrors<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">settings<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Simple validation checks in CI logs<\/h3>\n\n\n\n<ul class='wp-block-list'>\n<li>Confirm the build still runs with <code>mvn sonar:sonar<\/code>.<\/li>\n<li>Verify plugin resolution is happening through your repository manager path.<\/li>\n<li>Confirm Sonar server version is 2.2 or newer if you expect the beta-2 improvement to apply.<\/li>\n<li>If running Sonar 2.1 or older, expect fallback behavior (improvement disabled).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Best practices for maintaining this legacy setup<\/h2>\n\n\n\n<ul class='wp-block-list'>\n<li>Treat this release note as <strong>historical behavior<\/strong>; verify details against archived Sonar and plugin docs used in your environment.<\/li>\n<li>Document whether your pipeline still depends on old mirror\/repository workarounds.<\/li>\n<li>Keep Maven settings and repository-manager policy in source-controlled infrastructure docs.<\/li>\n<li>When modernizing, test in a staging CI pipeline before changing repository resolution behavior.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Note: the original page also contains a YouTube API error message and a link to a video about API key setup (<a href='https:\/\/www.youtube.com\/watch?v=ZCfrNvu6nMc'>YouTube link<\/a>), which appears unrelated to the Sonar plugin release details.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This historical release note introduced simpler Sonar Maven Plugin behavior when using repository managers like Archiva or Nexus. Here\u2019s what changed from beta-1, how compatibility works with Sonar versions, and how to validate legacy CI behavior.<\/p>\n","protected":false},"author":1,"featured_media":4360,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[4108,3706,2667,161,4104,356,92,516,4105,4101,4103,4106,4107,4102,226],"class_list":["post-283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorised","tag-configuration-plugin-for-sonar-maven","tag-feature","tag-launch","tag-maven","tag-maven-sonar-plugin","tag-plugin","tag-release","tag-sonar","tag-sonar-maven-configuration","tag-sonar-maven-plugin","tag-sonar-maven-plugin-1-0-beta-2","tag-sonar-maven-plugin-configure","tag-sonar-maven-plugin-properties","tag-sonar-maven-plugin-version-1-0-beta-2","tag-upgrade"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=283"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/283\/revisions"}],"predecessor-version":[{"id":79112,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/283\/revisions\/79112"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/4360"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}