FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 2.0.1

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
3506500

Files

ClassBugs
org.apache.maven.DefaultMaven1
org.apache.maven.artifact.handler.DefaultArtifactHandler1
org.apache.maven.artifact.metadata.AbstractArtifactMetadata1
org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException1
org.apache.maven.artifact.metadata.ArtifactMetadataSource1
org.apache.maven.artifact.metadata.ResolutionGroup1
org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata3
org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException1
org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException1
org.apache.maven.artifact.resolver.filter.IncludesArtifactFilter1
org.apache.maven.execution.DefaultMavenExecutionRequest2
org.apache.maven.execution.SettingsAdapter1
org.apache.maven.lifecycle.DefaultLifecycles1
org.apache.maven.lifecycle.internal.BuildLogItem$DependencyLogEntry1
org.apache.maven.lifecycle.internal.ConcurrentBuildLogger1
org.apache.maven.lifecycle.internal.LifecycleStarter1
org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder1
org.apache.maven.lifecycle.internal.MojoDescriptorCreator2
org.apache.maven.lifecycle.internal.ThreadLockedArtifact1
org.apache.maven.lifecycle.internal.ThreadOutputMuxer4
org.apache.maven.lifecycle.internal.ThreadOutputMuxer$ThreadBoundPrintStream1
org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping2
org.apache.maven.lifecycle.mapping.Lifecycle1
org.apache.maven.plugin.DefaultBuildPluginManager6
org.apache.maven.plugin.PluginParameterExpressionEvaluator2
org.apache.maven.plugin.internal.DefaultMavenPluginManager8
org.apache.maven.plugin.internal.DefaultPluginManager1
org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException1
org.apache.maven.plugin.version.PluginVersionResolutionException1
org.apache.maven.project.DefaultProjectBuildingHelper1
org.apache.maven.project.DefaultProjectBuildingRequest2
org.apache.maven.project.MavenProject1
org.apache.maven.project.ProjectModelResolver1
org.apache.maven.project.artifact.DefaultMavenMetadataCache$CacheRecord1
org.apache.maven.repository.ArtifactTransferEvent2
org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader4

org.apache.maven.DefaultMaven

BugCategoryDetailsLinePriority
exceptional return value of java.io.File.mkdirs() ignored in org.apache.maven.DefaultMaven.validateLocalRepository(MavenExecutionRequest)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE500Medium

org.apache.maven.artifact.handler.DefaultArtifactHandler

BugCategoryDetailsLinePriority
Champ jamais écrit : org.apache.maven.artifact.handler.DefaultArtifactHandler.classifierCORRECTNESSUWF_UNWRITTEN_FIELD78Medium

org.apache.maven.artifact.metadata.AbstractArtifactMetadata

BugCategoryDetailsLinePriority
The class name org.apache.maven.artifact.metadata.AbstractArtifactMetadata shadows the simple name of the superclass org.apache.maven.repository.legacy.metadata.AbstractArtifactMetadataBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_SUPERCLASS31-32High

org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException

BugCategoryDetailsLinePriority
The class name org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException shadows the simple name of the superclass org.apache.maven.repository.legacy.metadata.ArtifactMetadataRetrievalExceptionBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_SUPERCLASS33-54High

org.apache.maven.artifact.metadata.ArtifactMetadataSource

BugCategoryDetailsLinePriority
The class name org.apache.maven.artifact.metadata.ArtifactMetadataSource shadows the simple name of implemented interface org.apache.maven.repository.legacy.metadata.ArtifactMetadataSourceBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_INTERFACENot availableMedium

org.apache.maven.artifact.metadata.ResolutionGroup

BugCategoryDetailsLinePriority
The class name org.apache.maven.artifact.metadata.ResolutionGroup shadows the simple name of the superclass org.apache.maven.repository.legacy.metadata.ResolutionGroupBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_SUPERCLASS37-44High

org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata

BugCategoryDetailsLinePriority
exceptional return value of java.io.File.delete() ignored in org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE94Medium
exceptional return value of java.io.File.mkdirs() ignored in org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE140Medium
exceptional return value of java.io.File.setLastModified(long) ignored in org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE154Medium

org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException

BugCategoryDetailsLinePriority
La classe org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException ne dérive pas d'Exception, alors que son nom le sous-entendBAD_PRACTICENM_CLASS_NOT_EXCEPTION32-39Medium

org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException

BugCategoryDetailsLinePriority
La classe org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException ne dérive pas d'Exception, alors que son nom le sous-entendBAD_PRACTICENM_CLASS_NOT_EXCEPTION32-39Medium

org.apache.maven.artifact.resolver.filter.IncludesArtifactFilter

BugCategoryDetailsLinePriority
Potentially dangerous use of non-short-circuit logic in org.apache.maven.artifact.resolver.filter.IncludesArtifactFilter.include(Artifact)STYLENS_DANGEROUS_NON_SHORT_CIRCUIT50High

org.apache.maven.execution.DefaultMavenExecutionRequest

BugCategoryDetailsLinePriority
La méthode org.apache.maven.execution.DefaultMavenExecutionRequest.getStartTime() risque d'exposer sa représentation interne en renvoyant org.apache.maven.execution.DefaultMavenExecutionRequest.startTimeMALICIOUS_CODEEI_EXPOSE_REP272Medium
La méthode org.apache.maven.execution.DefaultMavenExecutionRequest.setStartTime(Date) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.maven.execution.DefaultMavenExecutionRequest.startTimeMALICIOUS_CODEEI_EXPOSE_REP2412Medium

org.apache.maven.execution.SettingsAdapter

BugCategoryDetailsLinePriority
La classe org.apache.maven.execution.SettingsAdapter définit le champ d'instance org.apache.maven.execution.SettingsAdapter.runtimeInfo non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNot availableMedium

org.apache.maven.lifecycle.DefaultLifecycles

BugCategoryDetailsLinePriority
org.apache.maven.lifecycle.DefaultLifecycles.STANDARD_LIFECYCLES devrait être package protectedMALICIOUS_CODEMS_PKGPROTECT46Medium

org.apache.maven.lifecycle.internal.BuildLogItem$DependencyLogEntry

BugCategoryDetailsLinePriority
La classe org.apache.maven.lifecycle.internal.BuildLogItem$DependencyLogEntry devrait-elle être une classe interne static ?PERFORMANCESIC_INNER_SHOULD_BE_STATIC163-216Medium

org.apache.maven.lifecycle.internal.ConcurrentBuildLogger

BugCategoryDetailsLinePriority
La méthode org.apache.maven.lifecycle.internal.ConcurrentBuildLogger.toGraph() fait une utilisation inefficace d'un itérateur sur keySet au lieu d'un itérateur sur entrySetPERFORMANCEWMI_WRONG_MAP_ITERATOR106Medium

org.apache.maven.lifecycle.internal.LifecycleStarter

BugCategoryDetailsLinePriority
La méthode org.apache.maven.lifecycle.internal.LifecycleStarter.execute(MavenSession) intercepte Exception, mais Exception n'est pas lancé dans le bloc try/catch et RuntimeException n'est pas appeléSTYLEREC_CATCH_EXCEPTION165Medium

org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder

BugCategoryDetailsLinePriority
La méthode org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder.build(ProjectBuildList, ReactorContext, List, MavenSession, ExecutorService, ReactorBuildStatus) fait une utilisation inefficace d'un itérateur sur keySet au lieu d'un itérateur sur entrySetPERFORMANCEWMI_WRONG_MAP_ITERATOR146Medium

org.apache.maven.lifecycle.internal.MojoDescriptorCreator

BugCategoryDetailsLinePriority
Possible déréférencement d'un pointeur null dans org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(String, MavenSession, MavenProject)CORRECTNESSNP_NULL_ON_SOME_PATH230Medium
La méthode org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(String, MavenSession, MavenProject) concatène des chaînes au moyen de + en bouclePERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION176Medium

org.apache.maven.lifecycle.internal.ThreadLockedArtifact

BugCategoryDetailsLinePriority
org.apache.maven.lifecycle.internal.ThreadLockedArtifact defines compareTo(Object) and uses Object.equals()BAD_PRACTICEEQ_COMPARETO_USE_OBJECT_EQUALS41Medium

org.apache.maven.lifecycle.internal.ThreadOutputMuxer

BugCategoryDetailsLinePriority
Found reliance on default encoding in new org.apache.maven.lifecycle.internal.ThreadOutputMuxer(ProjectBuildList, PrintStream): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING54High
Found reliance on default encoding in new org.apache.maven.lifecycle.internal.ThreadOutputMuxer(ProjectBuildList, PrintStream): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING144High
Présence d'un notify() isolé dans org.apache.maven.lifecycle.internal.ThreadOutputMuxer.setThisModuleComplete(ProjectSegment)MT_CORRECTNESSNN_NAKED_NOTIFY195Medium
new org.apache.maven.lifecycle.internal.ThreadOutputMuxer(ProjectBuildList, PrintStream) invoque Thread.start()MT_CORRECTNESSSC_START_IN_CTOR150Medium

org.apache.maven.lifecycle.internal.ThreadOutputMuxer$ThreadBoundPrintStream

BugCategoryDetailsLinePriority
Found reliance on default encoding in new org.apache.maven.lifecycle.internal.ThreadOutputMuxer$ThreadBoundPrintStream(ThreadOutputMuxer, PrintStream): new org.apache.maven.lifecycle.internal.ThreadOutputMuxer$ThreadBoundPrintStream(OutputStream)I18NDM_DEFAULT_ENCODING211High

org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping

BugCategoryDetailsLinePriority
Champ jamais écrit : org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping.lifecyclesCORRECTNESSUWF_UNWRITTEN_FIELD46Medium
Champ jamais écrit : org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping.phasesCORRECTNESSUWF_UNWRITTEN_FIELD103Medium

org.apache.maven.lifecycle.mapping.Lifecycle

BugCategoryDetailsLinePriority
Champ inutilisé : org.apache.maven.lifecycle.mapping.Lifecycle.optionalMojosPERFORMANCEUUF_UNUSED_FIELDNot availableMedium

org.apache.maven.plugin.DefaultBuildPluginManager

BugCategoryDetailsLinePriority
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING125High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING137High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING149High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING120High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING132High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING144High

org.apache.maven.plugin.PluginParameterExpressionEvaluator

BugCategoryDetailsLinePriority
Chargement d'une valeur connue pour être à null dans org.apache.maven.plugin.PluginParameterExpressionEvaluator.evaluate(String, Class)STYLENP_LOAD_OF_KNOWN_NULL_VALUE379Medium
Test de nullité dans session d'une valeur préalablement déréférencée dans new org.apache.maven.plugin.PluginParameterExpressionEvaluator(MavenSession, MojoExecution)CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE95Medium

org.apache.maven.plugin.internal.DefaultMavenPluginManager

BugCategoryDetailsLinePriority
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING474High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING485High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING469High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING479High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(Object, MojoDescriptor, ClassRealm, PlexusConfiguration, ExpressionEvaluator): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING613High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(Object, MojoDescriptor, ClassRealm, PlexusConfiguration, ExpressionEvaluator): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING623High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(Object, MojoDescriptor, ClassRealm, PlexusConfiguration, ExpressionEvaluator): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING608High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(Object, MojoDescriptor, ClassRealm, PlexusConfiguration, ExpressionEvaluator): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING618High

org.apache.maven.plugin.internal.DefaultPluginManager

BugCategoryDetailsLinePriority
La méthode org.apache.maven.plugin.internal.DefaultPluginManager.getPluginDescriptorForPrefix(String) intercepte Exception, mais Exception n'est pas lancé dans le bloc try/catch et RuntimeException n'est pas appeléSTYLEREC_CATCH_EXCEPTION193Medium

org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException

BugCategoryDetailsLinePriority
La méthode org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException.format(LocalRepository, List) concatène des chaînes au moyen de + en bouclePERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION55Medium

org.apache.maven.plugin.version.PluginVersionResolutionException

BugCategoryDetailsLinePriority
La méthode org.apache.maven.plugin.version.PluginVersionResolutionException.format(LocalRepository, List) concatène des chaînes au moyen de + en bouclePERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION97Medium

org.apache.maven.project.DefaultProjectBuildingHelper

BugCategoryDetailsLinePriority
Chargement d'une valeur connue pour être à null dans org.apache.maven.project.DefaultProjectBuildingHelper.createProjectRealm(MavenProject, Model, ProjectBuildingRequest)STYLENP_LOAD_OF_KNOWN_NULL_VALUE245Medium

org.apache.maven.project.DefaultProjectBuildingRequest

BugCategoryDetailsLinePriority
La méthode org.apache.maven.project.DefaultProjectBuildingRequest.getBuildStartTime() risque d'exposer sa représentation interne en renvoyant org.apache.maven.project.DefaultProjectBuildingRequest.buildStartTimeMALICIOUS_CODEEI_EXPOSE_REP287Medium
La méthode org.apache.maven.project.DefaultProjectBuildingRequest.setBuildStartTime(Date) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.maven.project.DefaultProjectBuildingRequest.buildStartTimeMALICIOUS_CODEEI_EXPOSE_REP2292Medium

org.apache.maven.project.MavenProject

BugCategoryDetailsLinePriority
Test de nullité redondant sur une valeur non nulle dans org.apache.maven.project.MavenProject.getDefaultGoal()STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE1750Medium

org.apache.maven.project.ProjectModelResolver

BugCategoryDetailsLinePriority
Champ non lu : org.apache.maven.project.ProjectModelResolver.context devrait-il être statique ?PERFORMANCESS_SHOULD_BE_STATIC60Medium

org.apache.maven.project.artifact.DefaultMavenMetadataCache$CacheRecord

BugCategoryDetailsLinePriority
La classe org.apache.maven.project.artifact.DefaultMavenMetadataCache$CacheRecord devrait-elle être une classe interne static ?PERFORMANCESIC_INNER_SHOULD_BE_STATIC214-290Medium

org.apache.maven.repository.ArtifactTransferEvent

BugCategoryDetailsLinePriority
La méthode org.apache.maven.repository.ArtifactTransferEvent.getDataBuffer() risque d'exposer sa représentation interne en renvoyant org.apache.maven.repository.ArtifactTransferEvent.dataBufferMALICIOUS_CODEEI_EXPOSE_REP218Medium
La méthode org.apache.maven.repository.ArtifactTransferEvent.setDataBuffer(byte[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.maven.repository.ArtifactTransferEvent.dataBufferMALICIOUS_CODEEI_EXPOSE_REP2223Medium

org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader

BugCategoryDetailsLinePriority
Alimentation à perte d'une variable locale dans la méthode org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.parsePersistedToolchains(XmlPullParser, boolean)STYLEDLS_DEAD_LOCAL_STORE811High
Test de nullité redondant sur une valeur non nulle dans org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.parsePersistedToolchains(XmlPullParser, boolean)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE817Medium
La méthode privée org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.getBooleanValue(String, String, XmlPullParser) n'est jamais appeléePERFORMANCEUPM_UNCALLED_PRIVATE_METHOD153Medium
La méthode privée org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.getDateValue(String, String, XmlPullParser) n'est jamais appeléePERFORMANCEUPM_UNCALLED_PRIVATE_METHOD241Medium