[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2017
    Beiträge
    8

    Talking Java Klasse in Makro iAccess einbinden

    Hallo zusammen,
    ich versuche eine Java Klasse in einem Makro unter iAccess einzubinden. Er bringt allerdings immer den Fehler: "Macro.play(): Klasse MacroClass im Klassenpfad nicht gefunden"

    Wie kann ich eine eigene Klasse einbinden?

    Danke und Gruß
    Christoph

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Hier habe ich eine Doku gefunden:
    https://www.ibm.com/support/knowledg...cro/macro.html
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Apr 2017
    Beiträge
    8
    Vielen Dank schon mal. Das hatten wir auch schon alles durchgeackert, steigen aber leider nicht dahinter *wo* wir die Java Klasse ablegen müssen, damit er sie auch findet.

    Click image for larger version. 

Name:	j1.png 
Views:	15 
Size:	27,9 KB 
ID:	547

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ich mache mir nicht immer die Mühe alles selber auszuprobieren, aber hier stehts doch;-):

    Deploying Java libraries or classes

    During macro playback, when the macro runtime processes a call to a Java method, the macro runtime searches all the available Java library files and class files for the class to which the method belongs, until it finds the class.
    Deploying a Java library or class consists of placing the library file or class file containing the class in a location where the macro runtime can find it during macro playback.

    You do not have to deploy the following types of Java classes:


    • Classes in the Java API (the Java archive files are already present on the client workstation and their locations are listed in the classpath that is specified when the Host On-Demand client is launched).
    • Classes in the Host On-Demand Macro Utility Libraries (HML libraries) are stored with the Host On-Demand client code (see The Macro Utility Libraries (HML libraries)).

    All other Java classes containing methods invoked by a macro script must be deployed by you to a location where the macro runtime can find them. Depending on the environment, you can deploy the Java classes as class files or as libraries containing Java classes.

    For more information on deploying Java libraries and classes, see "Deploying customer-supplied Java archives and classes" in Planning, Installing, and Configuring Host On-Demand.
    https://scc.its.state.nc.us/hod/en/d...l/install.html

    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Apr 2017
    Beiträge
    8
    Ja genau - da steht "an einen Ort, wo es gefunden werden kann". Wir finden den Ort aber nicht
    Der weiterführende Link unten bringt uns leider auch nicht weiter. Sorry.

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ich würde einfach mal deine .jar in denselben Ordner packen wie die acsbundle.jar.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Apr 2017
    Beiträge
    8
    Haben wir auch schon gemacht - immer die identische Fehlermeldung!?

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ok, wir bewegen uns hier in Java!
    ACS befindet sich in der acsbundle.jar und wird mittels JVM gestartet.
    Letztlich erfolgt also ein Aufruf per "Java -Djava.class.path=blabla -jar
    acsbundle.jar"

    In folgendem Link sind die Möglichkeiten beschrieben:
    https://developer.ibm.com/articles/i-acs-commandline/

    Der jeweilige Aufruf von "acslaunch_win-64" ist entsprechend mit obigem "java"-Aufruf zu ersetzen.
    Somit kannst du den Classpath beim Aufruf ergänzen "-D
    java.class.path=Path1;Path2".

    Leider ist es da dann mit einem Doppelclick auf eine ".hod" nicht mehr getan.

    Aber ich kann auch falsch liegen;-).

    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Schriftart/Fenstergröße bei iAccess (java)
    By cbe in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 16-05-17, 15:34
  2. Neues iAccess: Wechseln der Fenster?
    By cbe in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-02-17, 14:16
  3. Daten aus AS400 mittels Query in Makro einbinden
    By sweety2401 in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 13-04-16, 15:00
  4. Windows Problem nach Update von iAccess [gelöst]
    By JanItor in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 11-02-15, 16:13
  5. SQL in CL einbinden ?
    By Helwo in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 08-08-01, 09:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •