Failed to execute goal org.codehaus.mojo exec-maven-plugin

Sana Baccar picture Sana Baccar · Nov 25, 2012 · Viewed 11.2k times · Source

I have an issue that I spend 5 days without resolving it: When executing mvn exec:java it fails to correctly parse the configuration arguments, throwing the following error:

"Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.1:java (default-cli) on project poll-translator: An exception occured while executing the Java class. null: InvocationTargetException: Error creating bean with name 'serviceLocator' defined in class path resource [META-INF/dsol/dsol.xml]: Cannot resolve reference to bean 'dsol-service-proxy' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dsol-service-proxy' defined in class path resource [META-INF/dsol/dsol.xml]: Instantiation of bean failed; nested exception is net.sf.cglib.core.CodeGenerationException: java.lang.NullPointerException-->null -> [Help 1]"

This is the POM configuration used file (using Apache Maven 3.0.4):

<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>
<parent>
    <groupId>org.dsol</groupId>
    <artifactId>dsol-parent</artifactId>
    <version>1-SNAPSHOT</version>
    <relativePath>../dsol/dsol-parent/pom.xml</relativePath>
</parent>

<groupId>org.dsol.project</groupId>
<artifactId>poll-translator</artifactId>
<version>0.1-SNAPSHOT</version>

<properties>
    <dsol.version>0.1-SNAPSHOT</dsol.version>
</properties>

<repositories>
    <repository>
        <id>dsol.internal</id>
        <url>http://maven.dsol-lang.net:8080/archiva/repository/internal/</url>
    </repository>
    <repository>
        <id>dsol.snapshots</id>
        <url>http://maven.dsol-lang.net:8080/archiva/repository/snapshots/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.dsol</groupId>
        <artifactId>dsol-interpreter</artifactId>
        <version>${dsol.version}</version>
    </dependency>
    <dependency>
        <groupId>org.dsol</groupId>
        <artifactId>dsol-default-planner-plugin-impl</artifactId>
        <version>${dsol.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http-jetty</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>java</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>org.dsol.engine.DSOLServer</mainClass>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.thoughtworks.paranamer</groupId>
            <artifactId>paranamer-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>run</id>  <!-- id is optional -->
                    <configuration>
                        <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                        <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                    </configuration>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse m2e settings 
                only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        com.thoughtworks.paranamer
                                    </groupId>
                                    <artifactId>
                                        paranamer-maven-plugin
                                    </artifactId>
                                    <versionRange>
                                        [2.3,)
                                    </versionRange>
                                    <goals>
                                        <goal>generate</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

Idon't know where is the problem and how can i resolve it! Can you help me please?

Regards, Sana.

Answer

Sajan Chandran picture Sajan Chandran · Nov 25, 2012

The problem is with your spring configuration and not with your maven config. In your case, when spring tries to create dsol-service-proxy object its constructor requires serviceLocator which inturn creates serviceLocator and spring encountered some problem in creating your serviceLocator. Check your dsol.xml and make sure serviceLocator is configured correctly.