2

I've been searching all over the net for some solutions for my problem. We have created a maven program that sends invoices to an other company. The biggest mind fuck of our problem is that it did work before. Even we didn't change anything.

At this moment our program works on the local computer where we developped the code. Now our code needs to be runned on a DMZ server. When we run the mvn project on the server the build fails.

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default) on project MercuriusMaven: An exception occured while executing the Java class. null: InvocationTargetException: -1 -> [Help 1]

We tried a lot of solution from the internet

  • deleted the .m2 folder
  • changed de version of exec-maven-plugin
  • used a newer/older or the same as the build version of java and mvn
  • we cleaned the solution and installed it again

Our options are running low. So can someone see where our problem is? Why does the code work on the local machine and not anymore at our DMZ server?

Here is the pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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>company.com.test</groupId>
<artifactId>ProjectMaven</artifactId>
<version>2.1</version>
<packaging>jar</packaging>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
        <version>3.1.5</version>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <artifactId>jaxb-impl</artifactId>
                <groupId>com.sun.xml.bind</groupId>
            </exclusion>
            <exclusion>
                <artifactId>jaxb-api</artifactId>
                <groupId>javax.xml.bind</groupId>
            </exclusion>
            <exclusion>
                <artifactId>asm</artifactId>
                <groupId>asm</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>3.1.5</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-databinding-jaxb</artifactId>
        <version>3.1.5</version>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <groupId>wsdl4j</groupId>
                <artifactId>wsdl4j</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-ws-security</artifactId>
        <version>3.1.5</version>
        <exclusions>
            <exclusion>
                <artifactId>jaxb-impl</artifactId>
                <groupId>com.sun.xml.bind</groupId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.wss4j</groupId>
                <artifactId>wss4j-ws-security-common</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.wss4j</groupId>
                <artifactId>wss4j-policy</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.wss4j</groupId>
                <artifactId>wss4j-bindings</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.wss4j</groupId>
                <artifactId>wss4j-ws-security-dom</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.wss4j</groupId>
                <artifactId>wss4j-ws-security-policy-stax</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.wss4j</groupId>
                <artifactId>wss4j-ws-security-stax</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc14</artifactId>
        <version>10.2.0.4.0</version>
        <type>pom</type>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-core</artifactId>
        <version>3.1.5</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.apache.wss4j</groupId>
        <artifactId>wss4j-ws-security-dom</artifactId>
        <version>2.1.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jaxws_2.1_spec</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>org.jdom</groupId>
        <artifactId>jdom</artifactId>
        <version>2.0.2</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>3.1.5</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <!-- <sourceRoot>${basedir}/src/main/java</sourceRoot>-->
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>${basedir}\SupplierService\FSB\eInvoicingService\SupplierService\v1_00\CPS_SupplierService.wsdl</wsdl>
                                <extraargs>
                                    <extraarg>-client</extraarg>
                                </extraargs>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
                <execution>
                    <phase>test</phase>
                    <goals>
                        <goal>java</goal>
                    </goals>
                    <configuration>
                        <mainClass>com.EInvoicing.ServiceCaller</mainClass>
                        <arguments>
                            <argument>arg0</argument>
                            <argument>arg1</argument>
                        </arguments>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

The program i want to run is this one

package com.EInvoicing;
public class ServiceCaller {
    public static void main(String[] args) throws Error, JAXBException, IOException, SQLException, DatatypeConfigurationException, Exception{
     try{
        //some magic code
        }
        catch(SQLException e){
        System.out.println("com.EInvoicing.ServiceCaller.main()" + e.toString());
    }
}

And finally i run the code with a .bat file (the url is not the one that I use)

"C:\Program Files\Apache Software Foundation\apache-maven-3.3.9\bin\mvn" -e -DproxySet=true -DproxyHost=8.8.8.8 -DproxyPort=8080 test pause

When I Run the .bat file I get an error. Here is the complete error

[WARNING]
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
    at Dynatos.EInvoicing.ServiceCaller.main(ServiceCaller.java:71)
    ... 6 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.485 s
[INFO] Finished at: 2016-09-27T13:54:17+02:00
[INFO] Final Memory: 34M/226M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default) on project MercuriusMaven: An exception occured while executing the Java class. null: InvocationTargetException: -1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default) on project MercuriusMaven: An exception occured while executing the Java class. null at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occured while executing the Java class. null
    at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:352)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default BuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    ... 20 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
    at java.lang.Thread.run(Thread.java:745)
 Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
    at Dynatos.EInvoicing.ServiceCaller.main(ServiceCaller.java:71)
    ... 6 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1]  http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Anyone knows how we can solve this?

Solved

  • There is nothing magical about this, you have an `ArrayIndexOutOfBoundsException` inside `Dynatos.EInvoicing.ServiceCaller.main`, which is your code. – Tunaki Sep 27 '16 at 13:55
  • is there a reason why it works on my machine and not on the server? It's the same code that i copied over there – Bernier Fierens Sep 27 '16 at 13:58
  • No idea (you didn't post the relevant code), but you can read the linked question to identify what this exception means and how to solve it. – Tunaki Sep 27 '16 at 13:59
  • Thanks! i wasn't able to figure out what the exception actually was. You saved my ass!! – Bernier Fierens Sep 27 '16 at 16:24

0 Answers0