{"id":282,"date":"2026-10-13T08:11:01","date_gmt":"2026-10-13T08:11:01","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2010\/09\/14\/sonar-mojo-10-beta-2\/"},"modified":"2026-10-13T08:11:01","modified_gmt":"2026-10-13T08:11:01","slug":"sonar-mojo-10-beta-2","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/sonar-mojo-10-beta-2\/","title":{"rendered":"Sonar Maven Plugin 1.0-beta-2: What Changed and How to Configure Legacy Builds"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Originally published on 2010-09-14; fully revised and updated.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This article explains a historical release of the Sonar Maven Plugin (1.0-beta-2) announced by the Mojo team. It is most useful for engineers maintaining older Maven\/Sonar integrations who need to understand what changed in configuration behavior and how version compatibility affects execution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primary source: <a href='https:\/\/www.devopsschool.com\/blog\/sonar-mojo-10-beta-2\/'>Sonar mojo 1.0-beta-2 release post<\/a>.<\/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-mojo-10.png' alt='Sonar Maven Plugin 1.0-beta-2 announcement image' width='600' height='400' \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What changed in 1.0-beta-2<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Based on the original announcement, version 1.0-beta-2 focused on making configuration easier when working with repository managers such as Archiva or Nexus.<\/p>\n\n\n\n<ul class='wp-block-list'><li>With 1.0-beta-2, <strong>no additional settings<\/strong> were required for that repository-manager scenario.<\/li><li>In 1.0-beta-1, teams needed to declare a <strong>mirror<\/strong> in Maven settings.<\/li><li>This improvement required <strong>Sonar 2.2+<\/strong>.<\/li><li>When used with Sonar 2.1 or older, the improvement was <strong>automatically disabled<\/strong>.<\/li><li>The release note says upgrade behavior should be automatic when using <code>mvn sonar:sonar<\/code>.<\/li><\/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<\/th><th>1.0-beta-2<\/th><\/tr><\/thead><tbody><tr><td>Repository manager setup (Archiva\/Nexus use case)<\/td><td>Extra settings needed<\/td><td>No additional settings required (per release note)<\/td><\/tr><tr><td>Maven mirror declaration<\/td><td>Required in settings.xml<\/td><td>Not required for the improved behavior scenario<\/td><\/tr><tr><td>Sonar server compatibility for this improvement<\/td><td>Not stated in source excerpt<\/td><td>Requires Sonar 2.2+<\/td><\/tr><tr><td>Behavior on Sonar 2.1 or older<\/td><td>Not stated in source excerpt<\/td><td>Improvement auto-disabled<\/td><\/tr><tr><td>Upgrade path when running <code>mvn sonar:sonar<\/code><\/td><td>Not stated in source excerpt<\/td><td>Described as automatic in release note<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Legacy execution flow<\/h2>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Run mvn sonar:sonar] --> B[Resolve Sonar Maven Plugin]\n    B --> C{Sonar server version}\n    C -- 2.2 or newer --> D[Use beta-2 improvement]\n    C -- 2.1 or older --> E[Improvement disabled]\n    D --> F[Proceed with simplified setup]\n    E --> G[Proceed with legacy behavior]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Commands and configuration examples<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The source post includes one explicit execution shortcut. The snippets below are practical examples for maintaining older Maven environments.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Run Sonar analysis from Maven<\/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<h3 class=\"wp-block-heading\">Legacy mirror declaration pattern (beta-1 style)<\/h3>\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>internal-repo-manager<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">id<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">name<\/span>&gt;<\/span>Internal Mirror<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">name<\/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\">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\">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<p class=\"wp-block-paragraph\"><em>Note:<\/em> The mirror snippet is a generic Maven pattern shown for context. The original post only states that beta-1 needed a mirror declaration and beta-2 removed that need in the described scenario.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Best practices for legacy Sonar and Maven setups<\/h2>\n\n\n\n<ul class='wp-block-list'><li>Confirm your Sonar server version first; the cited improvement applies to 2.2+.<\/li><li>If behavior differs across environments, compare effective Maven settings and mirror resolution.<\/li><li>Document whether your build relies on historical plugin behavior before upgrading any scanning components.<\/li><li>Treat this release note as historical context and validate against your current SonarQube\/Maven documentation.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This update from the Mojo team simplified Sonar Maven Plugin configuration when using repository managers like Archiva or Nexus. Here\u2019s a clear breakdown of compatibility, behavior differences from beta-1, and practical legacy setup guidance.<\/p>\n","protected":false},"author":1,"featured_media":4362,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[4114,3706,2667,161,4111,4109,4112,4113,356,92,516,4105,4103,4102,4110,226],"class_list":["post-282","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorised","tag-configuration-plugin-for-sonar-mojo","tag-feature","tag-launch","tag-maven","tag-maven-sonar-mojo-plugin","tag-mojo","tag-mojo-sonar-maven-plugin-configure","tag-mojo-sonar-maven-plugin-properties","tag-plugin","tag-release","tag-sonar","tag-sonar-maven-configuration","tag-sonar-maven-plugin-1-0-beta-2","tag-sonar-maven-plugin-version-1-0-beta-2","tag-sonar-mojo-maven-plugin","tag-upgrade"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/282","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=282"}],"version-history":[{"count":4,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/282\/revisions"}],"predecessor-version":[{"id":79111,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/282\/revisions\/79111"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/4362"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}