Error reporting when running kettle in Linux environment

Background

It runs normally in the Wins environment, but when the same converted file is uploaded to Linux, an error is reported.

1. Kettle client running interface

2. The cmd command line runs normally in the Wins environment

Run the code under the cmd command line:

d:
cd D:\tools\pdi-ce-9.1.0.0-324\data-integration
D:\tools\pdi-ce-9.1.0.0-324\data-integration>pan.bat /file:D:\tools\pdi-ce-9.1.0.0-324\data-integration\samples\jobs\insert_103_table_output. ktr /level:Basic > D:\tools\pdi-ce-9.1.0.0-324\data-integration\logs\insert_103_table_output_01.log

3. Running error under Linux environment

The error message is as follows:

2023/05/24 12:03:56 - source_query.0 - ERROR (version 9.1.0.0-324, build 9.1.0.0-324 from 2020-09-07 05.09.05 by buildguy) : Error initializing step [ source_query]
2023/05/24 12:03:56 - insert_data.0 - ERROR (version 9.1.0.0-324, build 9.1.0.0-324 from 2020-09-07 05.09.05 by buildguy) : Error initializing step [insert_data]
2023/05/24 12:03:56 - insert_data.0 - ERROR (version 9.1.0.0-324, build 9.1.0.0-324 from 2020-09-07 05.09.05 by buildguy) : java.lang.NoClassDefFoundError: Could not initialize class oracle.dms.instrument.Noun
2023/05/24 12:03:56 - insert_data.0 - at oracle.dms.instrument.NounFactory.getRoot(NounFactory.java:139)
2023/05/24 12:03:56 - insert_data.0 - at oracle.jdbc.driver.DMSFactory.getRoot(DMSFactory.java:97)
2023/05/24 12:03:56 - insert_data.0 - at oracle.jdbc.driver.DMSFactory.createNoun(DMSFactory.java:68)
2023/05/24 12:03:56 - insert_data.0 - at oracle.jdbc.driver.PhysicalConnection.createDMSSensors(PhysicalConnection.java:1769)
2023/05/24 12:03:56 - insert_data.0 - at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:873)
2023/05/24 12:03:56 - insert_data.0 - at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:525)
2023/05/24 12:03:56 - insert_data.0 - at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:76)
2023/05/24 12:03:56 - insert_data.0 - at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:829)
2023/05/24 12:03:56 - insert_data.0 - at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:633)
2023/05/24 12:03:56 - insert_data.0 - at java.sql.DriverManager.getConnection(DriverManager.java:664)
2023/05/24 12:03:56 - insert_data.0 - at java.sql.DriverManager.getConnection(DriverManager.java:208)
2023/05/24 12:03:56 - insert_data.0 - at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:598)
2023/05/24 12:03:56 - insert_data.0 - at org.pentaho.di.core.database.Database.normalConnect(Database.java:477)
2023/05/24 12:03:56 - insert_data.0 - at org.pentaho.di.core.database.Database.connect(Database.java:389)
2023/05/24 12:03:56 - insert_data.0 - at org.pentaho.di.core.database.Database.connect(Database.java:360)
2023/05/24 12:03:56 - insert_data.0 - at org.pentaho.di.trans.steps.tableoutput.TableOutput.init(TableOutput.java:533)
2023/05/24 12:03:56 - insert_data.0 - at org.pentaho.di.trans.step.StepInitThread.run(StepInitThread.java:69)
2023/05/24 12:03:56 - insert_data.0 - at java.lang.Thread.run(Thread.java:748)
2023/05/24 12:03:56 - source_query.0 - ERROR (version 9.1.0.0-324, build 9.1.0.0-324 from 2020-09-07 05.09.05 by buildguy) : java.lang.NoClassDefFoundError: oracle /core/ojdl/MessageType
2023/05/24 12:03:56 - source_query.0 - at oracle.dms.instrument.Level.initLevel(Level.java:226)
2023/05/24 12:03:56 - source_query.0 - at oracle.dms.instrument.LogLevel.initLogLevel(LogLevel.java:41)
2023/05/24 12:03:56 - source_query.0 - at oracle.dms.instrument.LogLevel.<clinit>(LogLevel.java:22)
2023/05/24 12:03:56 - source_query.0 - at oracle.dms.instrument.Noun.<clinit>(Noun.java:2176)
2023/05/24 12:03:56 - source_query.0 - at oracle.dms.instrument.NounFactory.getRoot(NounFactory.java:139)
2023/05/24 12:03:56 - source_query.0 - at oracle.jdbc.driver.DMSFactory.getRoot(DMSFactory.java:97)
2023/05/24 12:03:56 - source_query.0 - at oracle.jdbc.driver.DMSFactory.createNoun(DMSFactory.java:68)
2023/05/24 12:03:56 - source_query.0 - at oracle.jdbc.driver.PhysicalConnection.createDMSSensors(PhysicalConnection.java:1769)
2023/05/24 12:03:56 - source_query.0 - at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:873)
2023/05/24 12:03:56 - source_query.0 - at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:525)
2023/05/24 12:03:56 - source_query.0 - at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:76)
2023/05/24 12:03:56 - source_query.0 - at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:829)
2023/05/24 12:03:56 - source_query.0 - at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:633)
2023/05/24 12:03:56 - source_query.0 - at java.sql.DriverManager.getConnection(DriverManager.java:664)
2023/05/24 12:03:56 - source_query.0 - at java.sql.DriverManager.getConnection(DriverManager.java:208)
2023/05/24 12:03:56 - source_query.0 - at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:598)
2023/05/24 12:03:56 - source_query.0 - at org.pentaho.di.core.database.Database.normalConnect(Database.java:477)
2023/05/24 12:03:56 - source_query.0 - at org.pentaho.di.core.database.Database.connect(Database.java:389)
2023/05/24 12:03:56 - source_query.0 - at org.pentaho.di.core.database.Database.connect(Database.java:360)
2023/05/24 12:03:56 - source_query.0 - at org.pentaho.di.trans.steps.tableinput.TableInput.init(TableInput.java:343)
2023/05/24 12:03:56 - source_query.0 - at org.pentaho.di.trans.step.StepInitThread.run(StepInitThread.java:69)
2023/05/24 12:03:56 - source_query.0 - at java.lang.Thread.run(Thread.java:748)
2023/05/24 12:03:56 - source_query.0 - Caused by: java.lang.ClassNotFoundException: oracle.core.ojdl.MessageType
2023/05/24 12:03:56 - source_query.0 - at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
2023/05/24 12:03:56 - source_query.0 - at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
2023/05/24 12:03:56 - source_query.0 - at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
2023/05/24 12:03:56 - source_query.0 - ... 22 more
2023/05/24 12:03:56 - insert_103_table_output - ERROR (version 9.1.0.0-324, build 9.1.0.0-324 from 2020-09-07 05.09.05 by buildguy) : Step [source_query.0] failed to initialize !
2023/05/24 12:03:56 - insert_103_table_output - ERROR (version 9.1.0.0-324, build 9.1.0.0-324 from 2020-09-07 05.09.05 by buildguy) : Step [insert_data.0] failed to initialize !

Run the code, similar to the WINS environment, with some differences:

[root@localhost data-integration]$ ./pan.sh -file=./scripts/insert_103_table_output.ktr -level=Basic >> ./logs/insert_103_table_output_8.log

Looking at the log information, it should be related to the Jar package. I thought that I also installed it by referring to the installation document. I decompressed all the JDBC jars and put them in the data-integration\lib folder under the kettle directory. I searched a lot on the Internet. , no solution found. Later, it was found that the Jar package might be in conflict, so I started to delete the newly added Jar packages under the data-integration\lib file one by one, and found that I deleted ojdbc8dms_g.jar and ojdbc8dms.jar When these two Jar packages are running normally.