Java läuft in Oracle - importierte Gläser

Ich versuche zu bekommen eine kleine java-Klasse zu laden, in Oracle 11g, so kann ich starten Sie es und rufen Sie es von PL/SQL. Ich codiert und kompiliert die Klasse auf meinem lokalen Rechner in eclipse und es kompiliert in Ordnung. Ich verpackte es in ein Glas (mit der anderen jar-Dateien es hängt davon ab, in der jar). Sie ich habe versucht, laden mein Glas in Oracle 11g. Alles lädt Sie in, leider, wenn es lädt meine benutzerdefinierte java-Klasse ist, bleibt es ungültig und wenn ich versuche zu kompilieren innerhalb der Oracle sagt, es kann nicht finden Sie Referenzen zu den Klassen (die, die ich hatte, verpackt in mein Glas mit meiner Klasse).

Ist es eine andere Art von Einstellung muss ich konfigurieren?

Hier ist, was meine benutzerdefinierten Klassen-code sieht wie folgt aus:

import com.flashline.registry.openapi.base.OpenAPIException;
import com.flashline.registry.openapi.entity.*;
import com.flashline.registry.openapi.service.v300.FlashlineRegistry;
import com.flashline.registry.openapi.service.v300.FlashlineRegistryServiceLocator;
import javax.xml.rpc.ServiceException;
import java.net.URL;
import java.rmi.RemoteException;
import org.apache.log4j.Logger;
import java.net.MalformedURLException;

public class AssetExtractor {

/**
 * @param args
 */
public static void main(String[] args) {
    //TODO Auto-generated method stub

}


   static Logger LOG;
   static AuthToken authToken = null;

   static FlashlineRegistry repository = null;
   static URL repoURL;


    public static FlashlineRegistry getRepository()
    {
        if(repository == null)
            try
            {
                try{
                    repoURL = new URL("https://myserver/oer/services/FlashlineRegistry");
                }catch(MalformedURLException mue)
                {
                    LOG.error(mue);
                }

                repository = (new FlashlineRegistryServiceLocator()).getFlashlineRegistry(repoURL);
                LOG.debug((new StringBuilder()).append("Created repository at URL=").append(repoURL.toString()).toString());
            }
            catch(ServiceException e)
            {
                LOG.error(e, e);
            }
        return repository;
    }

    public static AuthToken getAuthToken()
    {
        if(authToken == null)
            try
            {
                authToken = getRepository().authTokenCreate("user", "password");
                LOG.debug("Created auth token.");
            }
            catch(OpenAPIException e)
            {
                LOG.error(e, e);
            }
            catch(RemoteException e)
            {
                LOG.error(e, e);
            }
        else
            try
            {
                getRepository().authTokenValidate(authToken);
            }
            catch(OpenAPIException e)
            {
                LOG.info("Auth token was invalid.  Recreating auth token");
                authToken = null;
                return getAuthToken();
            }
            catch(RemoteException re)
            {
                LOG.error("Remote exception occured during creation of suth token after determined to be invalid", re);
                re.printStackTrace();
                authToken = null;
            }
        return authToken;
    }

    public static String getAssetXML(String strAssetID)
    {
        String strAsset = null;
        try
        {
            strAsset = getRepository().assetReadXml(getAuthToken(), Long.parseLong(strAssetID));
        }
        catch(OpenAPIException e)
        {
            e.printStackTrace();
        }
        catch(RemoteException e)
        {
            e.printStackTrace();
        }
        return strAsset;
    }

}

Und alle *.jar-Dateien für die Importe sind in meinem AssetExtractor.jar

Den Befehl habe ich mit laden Sie das Glas in oracle:

loadjava -v -f -resolve -resolver "((* OER) (* PUBLIC))" -user oer/***** AssetExtractor.jar

Irgendwelche Ideen wäre hilfreich!!!

  • Und ich habe bereits versucht die Einstellung der classpath in meiner OS, wo meine DB ist, sah ich auch in eine manuelle Einstellung der classpath in der extproc.ora-Datei und so hab ich auch versucht. So weit keiner von Ihnen arbeitete.
InformationsquelleAutor Jackie | 2012-06-06
Schreibe einen Kommentar