'Pentaho spoon is not starting

I'm just trying to open the GUI interface, but it is not opening and without any reason, any error massage. Any Idea?

#
C:\software\data-integration>Spoon.bat
DEBUG: Using JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=C:\Program Files\Java\jre1.8.0_152
DEBUG: _PENTAHO_JAVA=C:\Program Files\Java\jre1.8.0_152\bin\javaw.exe

C:\software\data-integration>start "Spoon" "C:\Program Files\Java\jre1.8.0_152\bin\javaw.exe"  "-Xms1024m" "-Xmx1024m" "-XX:MaxPermSize=256m" "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" "-Djava.library.path=libswt\win64" "-DKETTLE_HOME=C:\software\data-integration\" "-DKETTLE_REPOSITORY=" "-DKETTLE_USER=" "-DKETTLE_PASSWORD=" "-DKETTLE_PLUGIN_PACKAGES=" "-DKETTLE_LOG_SIZE_LIMIT=" "-DKETTLE_JNDI_ROOT=" -jar launcher\pentaho-application-launcher-8.0.0.0-28.jar -lib ..\libswt\win64


Solution 1:[1]

I was having the same issue, what I did was add a variable called PENTAHO_DI_JAVA_OPTIONS and in the value field put -Xms1024m. It worked for me.

Pentaho Spoon Bat Will not launch v2

Hope it helps.

Solution 2:[2]

  1. In the hidden directory C:\Users\.kettle, delete the file called db-cache-xxx. Do not touch to the kettle.property, repository.xml, shared.xml if you did define some connections or custom setup.

  2. Remove unused plugins. Copy the folder named plugins elsewhere. Try to see if spoon launch quicker. Then copy back the plugins (=folders), you need one by one.

  3. Be patient. Sometimes your OS needs quite a bit of time to find the required memory space. Windows did not think it was important to give you feedback of what was happening in the background.

Solution 3:[3]

Try this:

Set PENTAHO_JAVA _HOME = C:\Pentaho\Java AND Set a system variable called JRE_HOME = C:\Program Files\Java\jdk1.8.0_144\jre

Mine is setup the same way and works perfectly fine. Let me know how it goes.

Solution 4:[4]

  1. Go to "C:\Program Files\Java" path copy your JRE folder that is present there.
  2. Open you "C:\Pentaho\data-integration" folder and paste the JRE folder that is copied
  3. Rename the JRE folder that is in "data-integration" folder which is of the format "jre_version" eg: "jre1.8.0_241", to "jre". Now you will be having a folder with the name "jre" in your "data-integration" folder.
  4. Now you can try running spoon.bat as "Run as administator", with in less than a minute your Pentaho UI will open.

This will work even if your having java is installed with the path being set and pentaho is not opening.

Solution 5:[5]

Pentaho PDI (8.2) did not start.

I copied then the jre-xxx folder to c:\pdi, the base base of my PDI installation and renamed the new folder to jre. Therefore the java base folder is now c:\pdi\jre.

I had then to set the system env. variables JAVA_HOME and JRE_HOME to path c:\pdi\jre. can be done in windows by control panel -> system & security -> system -> extended system settings -> system environments -> edit/add the mentioned system variables -> set the java base path.
i used the jre-install file: jre-8u301-windows-x64.exe

then i changed the PENTAHO_DI_JAVA_OPTIONS entry in spoon.bat.

instead of the default line:

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx6096m" "-XX:MaxPermSize=256m" "-Dfile.encoding=UTF-8"

i used that one:

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx1024m" "-XX:MaxPermSize=256m"

additional: to start spoon.bat as admin can help, if there are permission issues.

Solution 6:[6]

I was facing the same issue. For me setting the KETTLE_HOME variable caused the problem. When I changed the variable from "D:\config" to "D:\config" it worked again...

Solution 7:[7]

Solved by creating a factory function that returns a Nest ConfigService object

// config-factory.ts
import { ConfigService } from '@nestjs/config'
import axios from 'axios'

export async function getConfigService() {
  const host = ...
  const port = ...
  const configUrl = `http://${host}:${port}/config`
  const postData = ...
  const response = await axios.post<Record<string, any> | undefined>(configUrl, postData)

  return new ConfigService(response.data)
}

@Global()
@Module({
  controllers: [],
  providers: [
    {
      provide: ConfigService,
      useFactory: getConfigService,
    },
  ],
  exports: [ConfigService],
})
export class AppModule {}

Solution 8:[8]

According to the docs, you can inject a custom configuration file via the load parameter. Ordinarily, you would pass a synchronous factory function that returns a pre-generated object with the Record<string, any> format, but you can also pass an async factory function here, and your config will be loaded from the server before the application bootstrap without the need to inject the ConfigService as a Custom Provider (if you do that, the ConfigModule is not properly being registered in the App, you can't access it in the main.ts, and you can't use the ConfigModule options).

Example:

shared.module.ts

import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { load } from './loadConfig';

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
      load: [async () => load({})],
    }),
  ],
  providers: [],
  exports: [],
})
export class SharedModule {}

loadConfig.ts

import { SSM } from 'aws-sdk';

export const load = async (options: any): Promise<any> => {
  const test = new SSM({ region: 'eu-north-1' });

  const parameters = await test
    .getParametersByPath({
      Path: '/path/to/ssm/route/',
      Recursive: true,
    })
    .promise();

  return parameters
};

Solution 9:[9]

nest-typed-config supports this. It also provides config validation and strong types:

TypedConfigModule.forRootAsync({
  schema: RootConfig,
  load: remoteLoader('http://localhost:8080', {
    /* options */
  }),
});

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Ed Romero
Solution 2 AlainD
Solution 3 Nikhil
Solution 4 Panyam Praneeth Reddy
Solution 5 elim garak
Solution 6 jmrth
Solution 7 Stefaan Vandevelde
Solution 8 macca
Solution 9 Nikaple