The CLASSPATH's effect on JarMaster:
You need to ensure that these two conditions exist because JarMaster uses the CLASSPATH to search for identically named files, which it assumes are newer.
This may seem confusing since you do not need to do this when you compile your applet or application. However, JarMaster relies solely on the CLASSPATH to determine the location of all required classes when building JARs. So, even if you can compile without these paths in your CLASSPATH, you will need to include them when building a JAR with JarMaster.
JarMaster uses your CLASSPATH to search for desired classes (in this case, the JDK core classes), so you must ensure that the CLASSPATH includes these core classes. These are found in JAVA_HOME/jre/lib/rt.jar.
When adding or copying files to a JAR, they are only visually added in the interface. Once you save, they are physically added to the JAR, and all file information is updated.
To recover the new JAR, you can copy the temp.jar file found in JCLASS_HOME/lib. This temporary JAR is the most recent JAR worked on in JarMaster, and is retained even after JarMaster has been closed.
For example, suppose there is a new tag called "Foo:". You can add it to the manifest entry by typing the following in the text area:
Foo: value
This will be appended to your manifest file exactly as it is seen in the unsupported tags text box.
Class.forName("package.MyClass")
), you will find that they are not included when the JAR is built. This is because JarMaster has access only to CLASS files. Dynamic classes are seen as String
objects until the applet or application is executing.
In order for them to be included they must be manually added to the JAR, or better yet, specified in the manifest file. For example, MyClass.class
has a line of code that contains a dynamic class:
Class c = Class.forName("package.MyClass2");
In order for JarMaster to find MyClass2.class
, your manifest files must have the following entry:
Name: package/MyClass.class
Depends-On: package/MyClass2.class