After large Git updates, or in case of ClassNotFoundException and other issues, run: ./ant clean build


#1

It is important to always run:

./ant build

after every update from the ScipioCE Git master branch to recompile the Java class files. The “build” target tries to intelligently only recompile the Java class/jar files that have changed, for speed. In most cases, it works fine.

However, in some cases, file change detection due to Git, filesystems or java compiler can fail, and in other cases small changes to Java interfaces between jars are merged in while the system only recompiles part of the files, and this can also happen due to third-party library updates (via ivy) - these can all lead to runtime errors such as “ClassNotFoundException” and others due to classes/jars becoming out of sync. In such case, you must force rebuild everything:

./ant clean build

It is also a good idea to run this if you see changes to many files coming in over Git merge. It can also resolve some issues with Scipio Addons. It can also be a good idea for production system scripts.

Please note, mostly due to code cleanups, in the next few days some changes affecting many files will appear in the Git master branch, and it is recommended to clean and build after updating.

In addition, if you think your third-party libraries have become corrupted, you can force the build to re-download everything using:

./ant clean-ivy-full

This is extremely rarely needed (I have not needed to run it in 2 years on my machine).


#2