OpenXava generates a fully functional web application from JPA entities.
You need Java and Maven installed.
From the command-line prompt, type:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourapp -DinteractiveMode=false
Then change to the folder where the project was created:
cd yourapp
mvn spring-boot:run
Open your browser and go to http://localhost:8080/yourapp
Stop your application with Ctrl+C in the prompt. Then use your favorite editor to edit YourFirstEntity.java in yourapp/src/main/java/com/yourcompany/yourapp/model. Have a look at the code and modify it. Add a new property, for example.
When the code is ready, start the application again.
Apart from the basic archetype, there are other OpenXava archetypes, so you don't have to start your application from scratch.
For a project with an initial Master-Detail structure, use openxava-master-detail-archetype, in this way:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-master-detail-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourmasterdetail -DinteractiveMode=false
For a basic CRM use openxava-crm-archetype, thus:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-crm-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourcrm -DinteractiveMode=false
For a project management application use openxava-project-management-archetype:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-project-management-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourtracker -DinteractiveMode=false
For an invoicing application use openxava-invoicing-archetype:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-invoicing-archetype -DarchetypeVersion=RELEASE -DgroupId=com.yourcompany -DartifactId=yourinvoicing -DinteractiveMode=false
To create a project from an older version of OpenXava, use the following command:
mvn archetype:generate -DarchetypeGroupId=org.openxava -DarchetypeArtifactId=openxava-archetype -DarchetypeVersion=7.7.3 -DgroupId=com.yourcompany -DartifactId=yourapp -DinteractiveMode=false
Note that you can replace 7.7.3 with any other version you want to use.
To execute applications of version 7.7.x, use:
mvn package exec:java
To execute applications of version 7.6.3 or older, first build the application:
mvn package
Then use Java directly. For Windows:
java -cp "target/yourapp/WEB-INF/classes;target/yourapp/WEB-INF/lib/*" com.yourcompany.yourapp.run.yourapp
For Linux/Mac:
java -cp "target/yourapp/WEB-INF/classes:target/yourapp/WEB-INF/lib/*" com.yourcompany.yourapp.run.yourapp
To learn more, go to the official OpenXava documentation here: openxava.org/doc