You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Hal Deadman (JIRA)" <ji...@codehaus.org> on 2012/07/12 23:28:21 UTC

[jira] (MASSEMBLY-556) mvn assembly:assembly NPEs with install:install-file'd artifacts

    [ https://jira.codehaus.org/browse/MASSEMBLY-556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=303496#comment-303496 ] 

Hal Deadman commented on MASSEMBLY-556:
---------------------------------------

I am getting this same NPE when I try to create an assembly with a maven repository in it using the assembly plugin's <repositories> tag. I am using Maven 3.0.3 and assembly plugin 2.3. 

Other assemblies (non-repositories) are working. The culprit does appear to be the mirror entry in settings.xml, although I had to use a settings.xml that didn't have a mirror and add a repositories section to my pom.xml: 


{code}
<repositories>
     <repository>
        <id>nexus</id>
        <url>http://XYZ.PDQ/nexus/content/groups/public</url>
        <releases>
           <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>        
    </repository>
</repositories>
{code}

The assembly descriptor I am using looks like this:
{code}
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>repository</id>
  <formats>
    <format>zip</format>
  </formats>
  <repositories>
    <repository>
      <scope>runtime</scope>
      <includeMetadata>true</includeMetadata>
      <outputDirectory>maven2</outputDirectory>
    </repository>
  </repositories>
</assembly>
{code}

If settings.xml has a mirror, I get the NPE. If I don't have a mirror I have to add the repositories section to my pom.xml because Maven tries to re-download things that it can't find unless I point the application at our nexus server (rather than relying on a mirror of * to point at our nexus server). I have all the dependencies in my local repo so I am not sure why it is trying to download anything.
                
> mvn assembly:assembly NPEs with install:install-file'd artifacts
> ----------------------------------------------------------------
>
>                 Key: MASSEMBLY-556
>                 URL: https://jira.codehaus.org/browse/MASSEMBLY-556
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2-beta-5
>         Environment: Maven 3.0.3 (r1075438; 2011-02-28 17:31:09+0000) on Win 7 x64, Sun Java 6u24 x64.
>            Reporter: Chris West (Faux)
>            Assignee: John Casey
>         Attachments: build.log, massembly-556-2.tar.gz, massembly-556.tar.gz, pom.xml, repository.xml
>
>
> I have 3rd-party jars installed via. {{mvn install:install-file}}.  This causes {{mvn assembly:assembly}} to NPE around:
> {code}
> Caused by: java.lang.NullPointerException
> 	at org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.getLocalFilename(AbstractRepositoryMetadata.java:61)
> 	at org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout.pathOfLocalRepositoryMetadata(DefaultRepositoryLayout.java:72)
> ...
> {code}
> To reproduce, first, install:install-file a random file:
> {code}
> mvn install:install-file -Dfile=pom.xml -DgroupId=com.goeswhere.test -DartifactId=a -Dversion=0 -Dpackaging=jar
> {code}
> Then, create pom.xml (attached):
> {code:xml}
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
> 	<modelVersion>4.0.0</modelVersion>
> 	<groupId>com.goeswhere.test</groupId>
> 	<artifactId>b</artifactId>
> 	<version>1.0-SNAPSHOT</version>
> 	<packaging>jar</packaging>
> 	<dependencies>
> 		<dependency>
> 			<groupId>com.goeswhere.test</groupId>
> 			<artifactId>a</artifactId>
> 			<version>0</version>
> 		</dependency>
> 	</dependencies>
> 	<build>
> 		<plugins>
> 			<plugin>
> 				<artifactId>maven-assembly-plugin</artifactId>
> 				<configuration>
> 					<descriptors>
> 						<descriptor>./repository.xml</descriptor>
> 					</descriptors>
> 				</configuration>
> 			</plugin>
> 		</plugins>
> 	</build>
> </project>
> {code}
> and repository.xml (attached):
> {code:xml}
> <assembly
> 	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
> 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
> 	<id>repository</id>
> 	<formats>
> 		<format>jar</format>
> 	</formats>
> 	<repositories>
> 		<repository>
> 			<includeMetadata>true</includeMetadata>
> 			<outputDirectory>maven2</outputDirectory>
> 		</repository>
> 	</repositories>
> </assembly>
> {code}
> And run {{mvn assembly:assembly}}.  See attached build.log.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira