Java OpenMaple Examples
|
A Simple Example
|
|
•
|
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 a[];
|
Engine t;
|
int i;
|
a = new String[1];
|
a[0] = "java";
|
try
|
{
|
t = new Engine( a, 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'll 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.
|
|
|
Compiling the Java file
|
|
•
|
We first need to compile the java source file into a class file.
|
|
Windows
|
|
<JDKBINDIR>\javac -classpath "<MAPLEDIR>\java\externalcall.jar;<MAPLEDIR>\java\jopenmaple.jar" test.java
|
|
|
|
|
Apple OS X, Linux and Solaris
|
|
<JDKBINDIR>/javac -classpath "<MAPLEDIR>/java/externalcall.jar:<MAPLEDIR>/java/jopenmaple.jar" test.java
|
|
|
|
•
|
There should now be a file called test.class in the current directory.
|
|
|
Executing
|
|
•
|
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 Apple OS X, Linux and Solaris, the MAPLE environment variable needs to be set to the value <MAPLEDIR> we defined above.
|
|
Windows
|
|
•
|
In Windows, you need to add <BINDIR> to the PATH environment variable
|
|
|
Linux and Solaris
|
|
•
|
On Linux and Solaris, 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>"
|
|
|
|
|
Apple OS X
|
|
•
|
On Apple OS X, 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>"
|
export MAPLE="<MAPLEDIR>"
|
|
|
|
•
|
As with the compiler, the Java Virtual Machine must have the jopenmaple.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.
|
|
Windows
|
|
java -classpath "<MAPLEDIR>\java\externalcall.jar;<MAPLEDIR>\java\jopenmaple.jar;." test
|
|
|
|
|
Apple OS X, Linux and Solaris
|
|
java -classpath "<MAPLEDIR>/java/externalcall.jar:<MAPLEDIR>/java/jopenmaple.jar:." test
|
|
|
|
•
|
If all went well, executing the line above should produce the following output.
|
•
|
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.
|
|
|
Download Help Document
Was this information helpful?