Java OpenMaple Examples
A Simple Example
Compiling the Java file
Executing
The following Java class starts a Maple session, evaluates a single expression, and then exits. It uses the following classes: Engine, EngineCallBacksDefault and MapleException.
For general instructions for running Java OpenMaple applications, see running.
import com.maplesoft.openmaple.*;
import com.maplesoft.externalcall.MapleException;
class test
{
public static void main( String args[] )
String[] mapleArgs = { "java" };
Engine t;
int i;
try
t = new Engine( mapleArgs, new EngineCallBacksDefault(), null, null );
t.evaluate( "int( x,x );" );
}
catch ( MapleException e )
System.out.println( "An exception occurred\n" );
return;
System.out.println( "Done\n" );
This example can be copied directly from this page and pasted into a file named test.java (it is also available in the samples/OpenMaple/Java/simple directory in your Maple installation).
In the following examples, assume that <JDKBINDIR> refers to the directory in which your Java development tools are installed. If your Java development tools are in your default path, you don't need to to worry about specifying the tool's location.
You will need to know your Maple installation location. We will refer to this location as <MAPLEDIR>. You can determine your installation location by calling kernelopts( mapledir ) in Maple.
We first need to compile the java source file into a class file.
Windows
<JDKBINDIR>\javac -classpath "<MAPLEDIR>\java\externalcall.jar;<MAPLEDIR>\java\Maple.jar" test.java
macOS and Linux
<JDKBINDIR>/javac -classpath "<MAPLEDIR>/java/externalcall.jar:<MAPLEDIR>/java/Maple.jar" test.java
There should now be a file called test.class in the current directory.
Before this example can be executed, the Java Virtual Machine must be told where to look for the Java OpenMaple native library. This library connects Java to Maple. It is located in the binary directory of your Maple installation. To determine which directory this is on your machine, call kernelopts( bindir ) in Maple. We will refer to this location as <BINDIR>
To tell the Java Virtual Machine to look in this directory, you need to add <BINDIR> to a platform specific environment variable. In addition on macOS and Linux, the MAPLE environment variable needs to be set to the value <MAPLEDIR> we defined above.
In Windows, you need to add <BINDIR> to the PATH environment variable
set PATH=%PATH%;<BINDIR>
Linux
On Linux, you need to add <BINDIR> to the LD_LIBRARY_PATH environment variable and set the MAPLE environment variable.
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:<BINDIR>"
export MAPLE="<MAPLEDIR>"
macOS
On macOS, you need to add <BINDIR> to the DYLD_LIBRARY_PATH environment variable and set the MAPLE environment variable.
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:<BINDIR>"
As with the compiler, the Java Virtual Machine must have the Maple.jar and externalcall.jar files added to the classpath, along with the directory containing the test.class file created above. Once again, using the -classpath command-line argument is recommended. This example assumes that the test.class file is stored in the current directory.
java -classpath "<MAPLEDIR>\java\externalcall.jar;<MAPLEDIR>\java\Maple.jar;." test
java -classpath "<MAPLEDIR>/java/externalcall.jar:<MAPLEDIR>/java/Maple.jar:." test
If all went well, executing the line above should produce the following output.
1/2*x^2
Done
This brief example can be found in the samples/OpenMaple/Java/simple directory. More interesting and complex examples can be found in the subdirectories of samples/OpenMaple/Java.
See Also
OpenMaple
OpenMaple/Java/Algebraic
OpenMaple/Java/API
OpenMaple/Java/Engine
OpenMaple/Java/running
trademarks
Download Help Document