You need to sign in to do that
Don't have an account?
Shane2017
output:Error: Could not find or load main class com.salesforce.dataloader.process.ProcessRunner
Hello,
I'm trying to call the data loader from Ruby. Here's the relevant code block:
stdout, stderr, status = Open3.popen2e( \
{"JAVA_HOME" => 'C:\Program Files (x86)\Java\jre1.8.0_144'}, \
"\"C:\\Users\\username\\AppData\\Local\\salesforce.com\\Data Loader\\bin\\process.bat\" " \
+ "\"C:\\Users\\username\\AppData\\Local\\salesforce.com\\Data Loader\\conf\" " \
+ "csvUpsertAccounts"
) { |stdin, stdout_and_stderr, wait_thr|
pid = wait_thr.pid
captured_stdout_and_stderr = stdout_and_stderr.read
exit_status = wait_thr.value
}
and this is the error that I get:
output:Error: Could not find or load main class com.salesforce.dataloader.process.ProcessRunner
Does anyone have any ideas on what I can check?
Best regards,
Shane
I'm trying to call the data loader from Ruby. Here's the relevant code block:
stdout, stderr, status = Open3.popen2e( \
{"JAVA_HOME" => 'C:\Program Files (x86)\Java\jre1.8.0_144'}, \
"\"C:\\Users\\username\\AppData\\Local\\salesforce.com\\Data Loader\\bin\\process.bat\" " \
+ "\"C:\\Users\\username\\AppData\\Local\\salesforce.com\\Data Loader\\conf\" " \
+ "csvUpsertAccounts"
) { |stdin, stdout_and_stderr, wait_thr|
pid = wait_thr.pid
captured_stdout_and_stderr = stdout_and_stderr.read
exit_status = wait_thr.value
}
and this is the error that I get:
output:Error: Could not find or load main class com.salesforce.dataloader.process.ProcessRunner
Does anyone have any ideas on what I can check?
Best regards,
Shane
You launch process.bat which launchs a class com.salesforce.dataloader.process.ProcessRunner that is in a zip file called jar in java.
dataloader-<version>.0.0-uber.jar
The complete command is like that for Windows: process.bat
"%JAVA_HOME%\bin\java" -cp ..\dataloader-36.0.0-uber.jar -Dsalesforce.config.dir=%1 com.salesforce.dataloader.process.ProcessRunner %PROCESS_OPTION%
You launch the jvm java (java.exe) with some parameters (the class path, -cp (here the jar file)) and finally the class.
The problem is here -cp ..\dataloader-36.0.0-uber.jar : relative path.
Try to change the relative path in process.bat for -cp c:\myfolder\dataloader-36.0.0-uber.jar (absolute path)