Library/Compiled Code/Packages/Jar/Mac OSX Confusion

Hi,

On Mac OS X, we are having issues with different JME .java files in different locations.

If we load Libraries into project, on the left side of SKD, we can view all libraries. In each jar file, we can view a .class file, but it is generated source code, each method is filled with commented compiled code. These java files are located deep within the system (/Users/testandril/Library/Application Support/jmonkeyplatform/3.0RC2/var/cache/index/s32/java/14/gensrc/de/jarnbjo/ogg/BasicStream.java).

Now, these files also appear in the source.zip which is located in libs folder of jmonkeyengine, which can be decompressed and viewed and edited. These java files are normal java code and very easy to edit.

What is the purpose of these two sets of files? Which files are actually loaded into the JME3 run-time? If we wish to edit these files, how would we go about it?
Thanks.

T&D

What you see with the “compiled code” is not files, its half-decompiled class files. These files are irrelevant for you.

Excellent thank you.

We would like to make edits to “SimpleWaterProcessor.java” in com.jme3.water. (in the jar libraries-effects)

On Windows machine, it seems that it is OK to edit the java file in the source.zip (decompress, make edit, then recompress) as when you CTRL+Click on SimpleWaterProcessor, it directs you to the changed file.

On Mac however, when you CTRL+Click on SimpleWaterProcessor class, it brings you to the class files we are not supposed to use. I also know it is not using the file in the source.zip because I added a method hello(), and it cannot be called by my SimpleWaterProcessor object.

For Mac, how do we go about making edits to SimpleWaterProcessor.java?

Thank you.

You compile the jme3 library yourself:

However note that you break all updates and versioning with that for your project. As you seem to be new to this I suggest thinking carefully if you want to take on maintaining your own version of jme3.

And for the record, because this is the second time this week people have been confused by this:
Swapping out a .java file in some .zip means nothing. It will not update the .class… the thing that actually runs. You have to BUILD the project. Otherwise, you are just messing with the decorations.

When I see this kind of thing it always makes me wonder if some more Java learning is necessary before making games…

Excellent. Thank you.

However, as described in https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:jme3_source_structure#structure_of_jmonkeyengine3_jars there should be a file jme3-android in the dist>lib. This does not exist after building the jme3 project. There is an jme3-android.jar file under build>

Any ideas where the build of the android goes or whether or not I am creating it?

Thanks