业务对象程序对象时间表

business objects program object schedule

package com.ghc.bo.extract;

 //import com.crystaldecisions.sdk.plugin.desktop.program.IProgramBase;
 import com.crystaldecisions.sdk.framework.IEnterpriseSession;
 import com.crystaldecisions.sdk.occa.infostore.IInfoStore;
 import com.crystaldecisions.sdk.exception.*;
 import com.crystaldecisions.sdk.framework.*;


 public class ExecuteExtract implements com.crystaldecisions.sdk.plugin.desktop.program.IProgramBase
 {


    public void run(IEnterpriseSession boEnterpriseSession, IInfoStore InfoStore, String[] args) 
    {
        System.out.println("Arguments are: ");

        for (int i=0; i<args.length; i++)
        {
            System.out.println("args[" + i + "]=" + args[i]);
        }

        try
        {
            String name = boEnterpriseSession.getUserInfo().getUserName();
            System.out.println("user \"" + name + "\" logged in via run() method");
        }
        catch(SDKException ske)
        {
            System.out.println(ske);
        }

        System.out.println("CMS is " + boEnterpriseSession.getCMSName());
    }

    public static void main(String[] args) 
    {

        IEnterpriseSession boEnterpriseSession = null;
        ISessionMgr boSessionMgr = null;
        IInfoStore boInfoStore = null;

        String userName = null;
        String cmsName = null;
        String password = null;
        String authType = null;     

        userName = args[0];
        password = args[1];
        cmsName = args[2];
        authType = args[3];


   if ((args.length == 4 || args.length == 5) && args[0] != null) 
       try
       {
          boSessionMgr = CrystalEnterprise.getSessionMgr();

          boEnterpriseSession = boSessionMgr.logon(userName, password, cmsName, authType);
          System.out.println("user \"" + userName + "\" logged in via main() method");

          boInfoStore = (IInfoStore) boEnterpriseSession.getService("", "InfoStore");
       }
       catch (SDKException e)
       {
           System.out.println(e.getMessage());
           System.exit(1);
       }

       //call the run() method
       ExecuteExtract pot = new ExecuteExtract();
       pot.run(boEnterpriseSession, boInfoStore, args);

    }    
 }

你好,我 运行 这个,我做了这里 http://scn.sap.com/community/bi-platform/blog/2014/11/25/how-to-create-a-program-file-in-bi4#comment-613074 中的所有事情,基本上只是为了创建一个 jar 文件并为计划做最少的配置。我将 jar 创建为可运行和实用程序 jar,我 packaged/extracted 包含的 jar 并将它们排除在外。我尝试了所有这些方法,并在程序参数中输入了 class 名称 "ExecuteExtract" 但我仍然收到错误

Failed to load class: [ExecuteExtract]. Reason: [java.lang.ClassNotFoundException: ExecuteExtract].

有人知道我遗漏了什么吗?

使用默认包,或指定完全限定的 class 名称 (com.ghc.bo.extract.ExecuteExtract) 作为程序对象参数中的 class 名称。