JAVA code quality & security
Static code analysis tools for your Java
Static code analysis for Java that detects bugs, code smells, and security vulnerabilities—right in your PRs and IDE.

全球超过700万开发者信赖
Latest Java standards
With each Java version, we create dedicated static analysis rules so you learn shiny, new features and avoid pitfalls.
SonarQube Cloud
面向现代DevOps的SaaS解决方案
SonarQube Cloud支持35种以上编程语言的代码分析,能检测问题并提供AI驱动的修复方案。通过与DevOps工具集成,它在每次代码合并时强制执行可维护性、可靠性和安全性的规则。
- 数分钟即可快速部署
- 零维护与基础设施管理
- 自动更新与新功能发布
- 99.9%可用性SLA,全球覆盖
- SOC 2 Type II认证安全保障
Own the code security of your Java
Reduce security risk in Java with taint-analysis detection aligned to OWASP Top 10 and CWE Top 25 standards.
- Taint analysis finds real source→sink injection flows across files and functions.
- Standards mapping to OWASP and CWE for auditor-friendly reporting.
- Vulnerabilities covered: SQLi, XSS, command injection, deserialization, SSRF.

Build truly secure, reliable, and maintainable software
Sonar seamlessly integrates with your existing CI/CD pipeline, providing the critical feedback you need to improve code quality and security as you work.
Developer-first code quality, right in your IDE
Everything you need to write better code:
- Real-Time Analysis: Issues are flagged in-line as you type.
- Effortless Remediation: Resolve problems in seconds with automatic quick fixes.
- Zero Configuration: Install from your IDE's marketplace—no setup required.
- Continuous Learning: Improve your skills and learn best practices.
Available on Your Favorite IDE Marketplace:
- Visual Studio | VS Code | JetBrains (IntelliJ, Rider, etc.) | Eclipse

Empower your team with unified code quality
Integrate SonarQube into your workflow for consistent code quality.
- Automated Pull Request Analysis: Automatically scan every pull request to prevent bugs from being merged.
- Consistent Quality Standards: Align your team on a shared definition of quality.
- Visible Quality Gate: Get a clear, objective status on release readiness.
- Seamless DevOps Integration: Embed analysis directly into your existing tools.
Tightly Integrates with Your DevOps Platform:
- GitHub | Bitbucket | Azure DevOps | GitLab

7 habits of highly effective AI coding
Learn proven practices to responsibly leverage AI, ensuring secure, maintainable code and controlled tech debt. Download now to confidently adopt AI and transform your SDLC.
Download guide >
The Coding Personalities of Leading LLMs
Explore the habits, blind spots, and archetypes of the top five LLMs to uncover the critical risks each brings to your codebase.
Download report >
451 Research report
This report explores Sonar’s developer-first approach to software development, integrating static analysis and remediation early in the process to help developers stay in flow.
Download report >
IDC Research report
In a new report, leading analyst firm IDC examines how Sonar unites code quality and security with Sonar Advanced Security.
Download report >
We support your Java development workflow
Language Versions
Java LTS 8, 11, 17, 21, and all intermediary versions up to 24 are fully supported
Web/Application Frameworks
Struts, Spring, JSP
Test Frameworks
JUnit 4/5, AssertJ, Mockito, Spring Test, TestNG
ORMs
Hibernate, Spring JDBC Template, JDO, VertX SQL
Build Integrations
Maven, Gradle, Ant
Java FAQs
What does SonarQube offer for Java static code analysis?
SonarQube helps identify bugs, code smells, and security vulnerabilities in Java code. It applies a large set of highly accurate rules to evaluate code quality, reliability, and maintainability to help teams to continuously improve Java code through automated analysis.
What types of issues can SonarQube detect in Java code?
SonarQube detects complex bugs, technical debt, also known as code smells, and security vulnerabilities in Java code. It also finds issues aligned with security standards such as OWASP and CWE Top 25 to help uncover common and critical security risks to help meet compliance. SonarQube can catch both obvious and complex issues that are often difficult to identify manually.
How many rules are available for Java analysis in SonarQube?
SonarQube includes over 700 rules for Java, covering a wide range of quality, security and maintainability concerns. These rules enforce coding standards and highlight risky patterns in the codebase. SonarQube’s breadth of coverage in Java is key to maintaining consistent code quality across projects.
Can SonarQube help developers fix Java issues quickly?
Yes, SonarQube provides guidance and Quick Fixes to help developers resolve Java issues efficiently and automatically. It includes clear rule descriptions, contextual insights, and remediation support to explain why an issue matters and how to fix it. In supported environments, developers can apply fixes directly with minimal effort.
Does SonarQube support Java analysis in the IDE?
Yes, SonarQubeQube for IDE enables real-time Java code analysis directly within the integrated development environment. It surfaces issues as developers write code, along with detailed explanations and suggested fixes. SonarQube for IDE helps developers catch issues in code early without requiring additional configuration.
How does SonarQube integrate into Java development workflows?
SonarQube integrates into CI/CD pipelines and pull request workflows to automate Java code reviews. It automatically analyzes branches and pull requests, provides feedback directly in DevOps platform’s pull request comments, and enforces code quality and code security standards using quality gates to prevent substandard code from progressing through the CI/CD pipeline. This helps teams maintain code quality standards seamlessly throughout the development lifecycle.
Does SonarQube support Java frameworks and ecosystems?
Yes, SonarQube supports common Java frameworks and tools used in modern development such as Spring, Struts, and JSP, allowing teams to analyze full applications rather than isolated components. This ensures consistent quality checks across the entire codebase.
What advanced analysis techniques does SonarQube use for Java?
SonarQube uses advanced techniques such as symbolic execution and data flow bug detection to detect complex issues in Java code that are otherwise very difficult to uncover. These methods find deeper bugs and security vulnerabilities that go beyond simple pattern matching tools. The results are presented with context to make them actionable for developers.
Which Java versions are supported by SonarQube?
SonarQube supports Java LTS 8, 11, 17, 21, and all intermediary versions up to 24, allowing teams to analyze both legacy and modern applications. This broad compatibility is important for organizations maintaining diverse codebases and keeping current with modern language constructs. It ensures that teams apply consistent quality standards regardless of Java version and helps developers raise their knowledge to the latest advances Java has to offer.
