0

I have a java maven based project where I have a dependency to oracle jdbc driver that I m putting in a specific folder

Running from Eclipse is not an issue but when I need to go to a remote CentOs machine I am not running well my app, because I m missing the point to ojdbc

Here is my launching script

mvn exec:java -Dexec.mainClass="startup.ServerNodeCodeStartup"

For more info here is my pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- This file was generated by Ignite Web Console (11/21/2019, 08:54) -->

<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>org.gridgain</groupId>
    <artifactId>sqlJoin-project</artifactId>
    <version>8.7.7</version>

    <repositories>
        <repository>
            <id>GridGain External Repository</id>
            <url>http://www.gridgainsystems.com/nexus/content/repositories/external</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.gridgain</groupId>
            <artifactId>ignite-core</artifactId>
            <version>8.7.7</version>
        </dependency>
        <dependency>
            <groupId>org.gridgain</groupId>
            <artifactId>ignite-spring</artifactId>
            <version>8.7.7</version>
        </dependency>
        <dependency>
            <groupId>org.gridgain</groupId>
            <artifactId>ignite-indexing</artifactId>
            <version>8.7.7</version>
        </dependency>
<!--         <dependency> -->
<!--             <groupId>org.gridgain</groupId> -->
<!--             <artifactId>ignite-rest-http</artifactId> -->
<!--             <version>8.7.7</version> -->
<!--         </dependency> -->
        <dependency>
            <groupId>com.oracle.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
            <version>12.1.0.1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/jdbc-drivers/ojdbc8.jar</systemPath>
            <!-- You may download JDBC driver from: https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html -->
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-libs</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <excludeGroupIds>org.gridgain,org.gridgain</excludeGroupIds>
                            <outputDirectory>target/libs</outputDirectory>
                            <includeScope>compile</includeScope>
                            <excludeTransitive>true</excludeTransitive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

The exception stack for information purpose

java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
    at config.ServerConfigurationFactory$6.create(ServerConfigurationFactory.java:1887)
    at config.ServerConfigurationFactory$6.create(ServerConfigurationFactory.java:1884)
    at org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:187)
    at org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:99)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCacheContext(GridCacheProcessor.java:1576)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheContext(GridCacheProcessor.java:2340)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$null$6a5b31b9$1(GridCacheProcessor.java:2185)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$4(GridCacheProcessor.java:2110)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$926b6886$1(GridCacheProcessor.java:2182)
    at org.apache.ignite.internal.util.IgniteUtils.lambda$null$1(IgniteUtils.java:10846)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$5.create(ServerConfigurationFactory.java:1495)
        at config.ServerConfigurationFactory$5.create(ServerConfigurationFactory.java:1492)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: oracle/jdbc/pool/OracleDataSource
        at config.ServerConfigurationFactory$DataSources.createdsOracle_Compiere(ServerConfigurationFactory.java:53)
        at config.ServerConfigurationFactory$DataSources.<clinit>(ServerConfigurationFactory.java:49)
        at config.ServerConfigurationFactory$12.create(ServerConfigurationFactory.java:3641)
        at config.ServerConfigurationFactory$12.create(ServerConfigurationFactory.java:3638)
        ... 12 more
    Caused by: java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 16 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$8.create(ServerConfigurationFactory.java:2368)
        at config.ServerConfigurationFactory$8.create(ServerConfigurationFactory.java:2365)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$9.create(ServerConfigurationFactory.java:2503)
        at config.ServerConfigurationFactory$9.create(ServerConfigurationFactory.java:2500)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$4.create(ServerConfigurationFactory.java:1217)
        at config.ServerConfigurationFactory$4.create(ServerConfigurationFactory.java:1214)
        ... 12 more

Nov 21, 2019 9:47:12 AM org.apache.ignite.logger.java.JavaLogger error
SEVERE: Got exception while starting (will rollback startup routine).
java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
    at config.ServerConfigurationFactory$6.create(ServerConfigurationFactory.java:1887)
    at config.ServerConfigurationFactory$6.create(ServerConfigurationFactory.java:1884)
    at org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:187)
    at org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:99)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCacheContext(GridCacheProcessor.java:1576)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheContext(GridCacheProcessor.java:2340)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$null$6a5b31b9$1(GridCacheProcessor.java:2185)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$4(GridCacheProcessor.java:2110)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$926b6886$1(GridCacheProcessor.java:2182)
    at org.apache.ignite.internal.util.IgniteUtils.lambda$null$1(IgniteUtils.java:10846)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$5.create(ServerConfigurationFactory.java:1495)
        at config.ServerConfigurationFactory$5.create(ServerConfigurationFactory.java:1492)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: oracle/jdbc/pool/OracleDataSource
        at config.ServerConfigurationFactory$DataSources.createdsOracle_Compiere(ServerConfigurationFactory.java:53)
        at config.ServerConfigurationFactory$DataSources.<clinit>(ServerConfigurationFactory.java:49)
        at config.ServerConfigurationFactory$12.create(ServerConfigurationFactory.java:3641)
        at config.ServerConfigurationFactory$12.create(ServerConfigurationFactory.java:3638)
        ... 12 more
    Caused by: java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 16 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$8.create(ServerConfigurationFactory.java:2368)
        at config.ServerConfigurationFactory$8.create(ServerConfigurationFactory.java:2365)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$9.create(ServerConfigurationFactory.java:2503)
        at config.ServerConfigurationFactory$9.create(ServerConfigurationFactory.java:2500)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$4.create(ServerConfigurationFactory.java:1217)
        at config.ServerConfigurationFactory$4.create(ServerConfigurationFactory.java:1214)
        ... 12 more

Nov 21, 2019 9:47:12 AM java.util.logging.LogManager$RootLogger log
SEVERE: Critical system error detected. Will be handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources]]
java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
    at config.ServerConfigurationFactory$6.create(ServerConfigurationFactory.java:1887)
    at config.ServerConfigurationFactory$6.create(ServerConfigurationFactory.java:1884)
    at org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:187)
    at org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:99)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCacheContext(GridCacheProcessor.java:1576)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheContext(GridCacheProcessor.java:2340)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$null$6a5b31b9$1(GridCacheProcessor.java:2185)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$4(GridCacheProcessor.java:2110)
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$926b6886$1(GridCacheProcessor.java:2182)
    at org.apache.ignite.internal.util.IgniteUtils.lambda$null$1(IgniteUtils.java:10846)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$5.create(ServerConfigurationFactory.java:1495)
        at config.ServerConfigurationFactory$5.create(ServerConfigurationFactory.java:1492)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: oracle/jdbc/pool/OracleDataSource
        at config.ServerConfigurationFactory$DataSources.createdsOracle_Compiere(ServerConfigurationFactory.java:53)
        at config.ServerConfigurationFactory$DataSources.<clinit>(ServerConfigurationFactory.java:49)
        at config.ServerConfigurationFactory$12.create(ServerConfigurationFactory.java:3641)
        at config.ServerConfigurationFactory$12.create(ServerConfigurationFactory.java:3638)
        ... 12 more
    Caused by: java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 16 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$8.create(ServerConfigurationFactory.java:2368)
        at config.ServerConfigurationFactory$8.create(ServerConfigurationFactory.java:2365)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$9.create(ServerConfigurationFactory.java:2503)
        at config.ServerConfigurationFactory$9.create(ServerConfigurationFactory.java:2500)
        ... 12 more
    Suppressed: java.lang.NoClassDefFoundError: Could not initialize class config.ServerConfigurationFactory$DataSources
        at config.ServerConfigurationFactory$4.create(ServerConfigurationFactory.java:1217)
        at config.ServerConfigurationFactory$4.create(ServerConfigurationFactory.java:1214)
        ... 12 more

Rmahajan
  • 1,311
  • 1
  • 14
  • 23
  • maybe the path/jar ${project.basedir}/jdbc-drivers/ojdbc8.jar is not available in your remote machine? Have you checked that the path and jar file exist? – Repoker Nov 21 '19 at 08:55
  • yes :) I m sure that they exist – Mohammed Housseyn Taleb Nov 21 '19 at 08:57
  • how to specify class path in terminal – Mohammed Housseyn Taleb Nov 21 '19 at 09:11
  • I'm afraid this is another instance of the well known NoClassDefFoundError. See https://stackoverflow.com/questions/34413/why-am-i-getting-a-noclassdeffounderror-in-java?r=SearchResults&s=1|125.9842 and https://stackoverflow.com/questions/1457863/what-causes-and-what-are-the-differences-between-noclassdeffounderror-and-classn?r=SearchResults&s=3|89.3588 – Repoker Nov 21 '19 at 11:23

0 Answers0