maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Gniza (JIRA)" <j...@codehaus.org>
Subject [jira] Created: (MECLIPSE-663) Overriding Packaging does not work correctly for WTP-Project
Date Sat, 03 Jul 2010 11:40:32 GMT
Overriding Packaging does not work correctly for WTP-Project
------------------------------------------------------------

                 Key: MECLIPSE-663
                 URL: http://jira.codehaus.org/browse/MECLIPSE-663
             Project: Maven 2.x Eclipse Plugin
          Issue Type: Bug
          Components: WTP support
    Affects Versions: 2.8
         Environment: All
            Reporter: Benjamin Gniza


I found out that overriding the packaging - type (MECLIPSE-331) does not work correct if you
want to have a wtp project:
{code:xml}
<project.....>
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.mycompany.app</groupId>
	<artifactId>my-webapp2</artifactId>
	<packaging>jar</packaging>
....
<build>
<plugins>
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-eclipse-plugin</artifactId>
	<configuration>
		<packaging>war</packaging>
		<source>${jdk.version}</source>
		<target>${jdk.version}</target>
		<wtpversion>1.5</wtpversion>
	</configuration>
</plugin>
....
{code}

This configuration leads to a Nullpointer Exception:
{noformat}
java.lang.NullPointerException
        at org.codehaus.plexus.util.xml.PrettyPrintXMLWriter.escapeXml(PrettyPrintXMLWriter.java:151)
        at org.codehaus.plexus.util.xml.PrettyPrintXMLWriter.escapeXmlAttribute(PrettyPrintXMLWriter.java:166)
        at org.codehaus.plexus.util.xml.PrettyPrintXMLWriter.addAttribute(PrettyPrintXMLWriter.java:190)
        at org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpComponent15Writer.writeContextRoot(EclipseWtpComponent15Writer.java:68)
        at org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpComponentWriter.writeModuleTypeComponent(EclipseWtpComponentWriter.java:149)
        at org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpComponentWriter.write(EclipseWtpComponentWriter.java:106)
        at org.apache.maven.plugin.eclipse.EclipsePlugin.writeConfiguration(EclipsePlugin.java:1110)
        at org.apache.maven.plugin.ide.AbstractIdeSupportMojo.execute(AbstractIdeSupportMojo.java:511)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:41)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:592)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
{noformat}

The cause for that NullpointerException is that _config.getContextName()_ in *EclipseWtpComponent15Writer.java:68*
is null.
I found out that you are referring to *project.getPackaging()* or *config.getProject().getPackaging()*
instead of *config.getPackaging()* in many places:
* EclipseManifestWriter
* EclipsePlugin (in this class the method _collectWarContextRootsFromReactorEarConfiguration_
should set the missing context name, but the method refers to *project.getPackaging()* which
is still *jar*
** here a _reactorProject.getPackaging()_ can also be fond, I don't know if this is correct.
* RadManifestWriter
* MyEclipseMetadataWriter
* MyEclipseStrutsDataWriter
* EclipseWtpApplicationXMLWriter
* MyEclipsePlugin
* AbstractWtpResourceWriter

After replacing all references to project.getPackaging() to config.getPackaging() the NullpointerException
has gone and the plugin works as expected.
I did only test the combination of project-packaging=jar and eclipse-packaging=war for Eclipse.
I did not test MyEclipse, RAD and so on..

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message