diff --git a/app/finders/packages/maven/package_finder.rb b/app/finders/packages/maven/package_finder.rb
index 775db12adb7ea2819415f2c79830c0efbba6a03a..45b54e7ac3b9bb7236de9b67fa4a047d9d82bfbe 100644
--- a/app/finders/packages/maven/package_finder.rb
+++ b/app/finders/packages/maven/package_finder.rb
@@ -27,7 +27,7 @@ def base
         elsif group
           packages_for_multiple_projects
         else
-          packages
+          ::Packages::Package.none
         end
       end
 
@@ -35,11 +35,6 @@ def packages_with_path
         base.only_maven_packages_with_path(path)
       end
 
-      # Produces a query that returns all packages.
-      def packages
-        ::Packages::Package.all
-      end
-
       # Produces a query that retrieves packages from a single project.
       def packages_for_a_single_project
         project.packages
diff --git a/changelogs/unreleased/284686-fix-the-maven-packages-finder.yml b/changelogs/unreleased/284686-fix-the-maven-packages-finder.yml
new file mode 100644
index 0000000000000000000000000000000000000000..754fc605dbdef36a2c2119f7359da6b80b2840ad
--- /dev/null
+++ b/changelogs/unreleased/284686-fix-the-maven-packages-finder.yml
@@ -0,0 +1,5 @@
+---
+title: Update the maven package finder
+merge_request: 50774
+author:
+type: changed
diff --git a/spec/finders/packages/maven/package_finder_spec.rb b/spec/finders/packages/maven/package_finder_spec.rb
index 239e8c10f5212c7737b2e62188e8b11c965502dc..fe47157b8450d29b2ba86605e1a2feec7b381b8c 100644
--- a/spec/finders/packages/maven/package_finder_spec.rb
+++ b/spec/finders/packages/maven/package_finder_spec.rb
@@ -2,55 +2,54 @@
 require 'spec_helper'
 
 RSpec.describe ::Packages::Maven::PackageFinder do
-  let(:user)    { create(:user) }
-  let(:group)   { create(:group) }
-  let(:project) { create(:project, namespace: group) }
-  let(:package) { create(:maven_package, project: project) }
+  let_it_be(:user)    { create(:user) }
+  let_it_be(:group)   { create(:group) }
+  let_it_be(:project) { create(:project, namespace: group) }
+  let_it_be(:package) { create(:maven_package, project: project) }
+
+  let(:param_path) { nil }
+  let(:param_project) { nil }
+  let(:param_group) { nil }
+  let(:finder) { described_class.new(param_path, user, project: param_project, group: param_group) }
 
   before do
     group.add_developer(user)
   end
 
   describe '#execute!' do
-    context 'within the project' do
-      it 'returns a package' do
-        finder = described_class.new(package.maven_metadatum.path, user, project: project)
-
-        expect(finder.execute!).to eq(package)
-      end
+    subject { finder.execute! }
 
-      it 'raises an error' do
-        finder = described_class.new('com/example/my-app/1.0-SNAPSHOT', user, project: project)
+    shared_examples 'handling valid and invalid paths' do
+      context 'with a valid path' do
+        let(:param_path) { package.maven_metadatum.path }
 
-        expect { finder.execute! }.to raise_error(ActiveRecord::RecordNotFound)
+        it { is_expected.to eq(package) }
       end
-    end
 
-    context 'across all projects' do
-      it 'returns a package' do
-        finder = described_class.new(package.maven_metadatum.path, user)
+      context 'with an invalid path' do
+        let(:param_path) { 'com/example/my-app/1.0-SNAPSHOT' }
 
-        expect(finder.execute!).to eq(package)
+        it 'raises an error' do
+          expect { subject }.to raise_error(ActiveRecord::RecordNotFound)
+        end
       end
+    end
 
-      it 'raises an error' do
-        finder = described_class.new('com/example/my-app/1.0-SNAPSHOT', user)
+    context 'within the project' do
+      let(:param_project) { project }
 
-        expect { finder.execute! }.to raise_error(ActiveRecord::RecordNotFound)
-      end
+      it_behaves_like 'handling valid and invalid paths'
     end
 
     context 'within a group' do
-      it 'returns a package' do
-        finder = described_class.new(package.maven_metadatum.path, user, group: group)
+      let(:param_group) { group }
 
-        expect(finder.execute!).to eq(package)
-      end
+      it_behaves_like 'handling valid and invalid paths'
+    end
 
+    context 'across all projects' do
       it 'raises an error' do
-        finder = described_class.new('com/example/my-app/1.0-SNAPSHOT', user, group: group)
-
-        expect { finder.execute! }.to raise_error(ActiveRecord::RecordNotFound)
+        expect { subject }.to raise_error(ActiveRecord::RecordNotFound)
       end
     end
   end