Maven Development

Starting with StreamBase 10, all development projects in StreamBase Studio use and require the Apache Maven build automation system. This applies to all fragment types.

Maven is a software build and management system aimed primarily at Java developers, but adapted by StreamBase to manage EventFlow and LiveView development as well.

StreamBase Studio projects are in Maven project format, and all projects are built and run under Maven control. The Run As context menu includes several Maven commands to be run, and there is a separate Maven context menu.

Using Maven provides a well-known, standard, and thoroughly documented way to specify project dependencies, both within and external to the project. Maven automatically configures search paths for code in specified dependencies, and manages resource search paths automatically.

Maven projects generate an artifact, which is the file or set of files that the project is targeted to create. A Maven Java project's artifact is usually a JAR file. The artifact generated by EventFlow and LiveView fragment projects is a zip file containing the executable classes for that fragment, along with any resource files required.

The artifact of a StreamBase Application project is a different zip file format, one that contains the fragment zip files of all EventFlow and/or LiveView fragments that were designated as dependencies for that StreamBase Application. It is this StreamBase Application project's generated zip file that can be installed in a node, started, and run.

The Maven project format is further discussed in Maven Projects in StreamBase Studio and What Goes Where in Project Folders.