diff --git a/src/main/java/org/apache/maven/shared/project/deploy/internal/DefaultProjectDeployer.java b/src/main/java/org/apache/maven/shared/project/deploy/internal/DefaultProjectDeployer.java
index 11c3b38..6381304 100644
--- a/src/main/java/org/apache/maven/shared/project/deploy/internal/DefaultProjectDeployer.java
+++ b/src/main/java/org/apache/maven/shared/project/deploy/internal/DefaultProjectDeployer.java
@@ -24,8 +24,6 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.inject.Inject;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.project.ProjectBuildingRequest;
@@ -35,6 +33,7 @@
 import org.apache.maven.shared.project.deploy.ProjectDeployer;
 import org.apache.maven.shared.project.deploy.ProjectDeployerRequest;
 import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -51,7 +50,7 @@
 {
     private static final Logger LOGGER = LoggerFactory.getLogger( DefaultProjectDeployer.class );
 
-    @Inject
+    @Requirement
     private ArtifactDeployer deployer;
 
     /**
diff --git a/src/main/java/org/apache/maven/shared/project/install/ProjectInstaller.java b/src/main/java/org/apache/maven/shared/project/install/ProjectInstaller.java
index ab3fdfa..bd59823 100644
--- a/src/main/java/org/apache/maven/shared/project/install/ProjectInstaller.java
+++ b/src/main/java/org/apache/maven/shared/project/install/ProjectInstaller.java
@@ -41,9 +41,10 @@
      * @param artifactRepository {@link ArtifactRepository}
      * @throws IOException In case of problem to install project.
      * @throws ArtifactInstallerException In case of problems to install artifacts.
+     * @throws IllegalArgumentException In case of no file has been assigned. 
      */
     void installProject( ProjectBuildingRequest projectBuildingRequest, ProjectInstallerRequest projectInstallerRequest,
                          ArtifactRepository artifactRepository )
-        throws IOException, ArtifactInstallerException;
+        throws IOException, ArtifactInstallerException, IllegalArgumentException; 
 
 }
diff --git a/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java b/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java
index 9f94a4d..0d832be 100644
--- a/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java
+++ b/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java
@@ -26,8 +26,6 @@
 import java.util.LinkedHashSet;
 import java.util.List;
 
-import javax.inject.Inject;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -41,6 +39,7 @@
 import org.apache.maven.shared.project.install.ProjectInstallerRequest;
 import org.apache.maven.shared.repository.RepositoryManager;
 import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.util.FileUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -57,17 +56,17 @@
 
     private static final Logger LOGGER = LoggerFactory.getLogger( DefaultProjectInstaller.class );
 
-    @Inject
+    @Requirement
     private ArtifactInstaller installer;
 
-    @Inject
+    @Requirement
     private RepositoryManager repositoryManager;
 
     private final DualDigester digester = new DualDigester();
 
     public void installProject( ProjectBuildingRequest buildingRequest, ProjectInstallerRequest request,
                                 ArtifactRepository artifactRepository )
-        throws IOException, ArtifactInstallerException
+        throws IOException, ArtifactInstallerException, IllegalArgumentException
     {
 
         MavenProject project = request.getProject();
