To build and run from source:
$ mvn clean install -DskipTests $ cd optaplanner-wb-webapp $ mvn clean gwt:run
To develop with IntelliJ IDEA, Eclipse or NetBeans, open the root pom.xml
as a new project
and configure a Run/Debug configuration like this:
-
Type: GWT configuration
-
Module:
optaplanner-wb-webapp
-
User Super Dev mode:
yes
-
GWT Modules to load:
All
(only 1 option, default) -
VM options:
-Xmx4G -Xms1G -Xss1M -XX:CompileThreshold=7000 -Derrai.jboss.home=/…/optaplanner-wb/optaplanner-wb-webapp/target/wildfly-8.1.0.Final/ -Dorg.uberfire.nio.git.dir=/…/optaplanner-wb/local/data
(replace/…/optaplanner-wb/
with your clone directory path twice) -
Dev Mode parameters:
-server org.jboss.errai.cdi.server.gwt.EmbeddedWildFlyLauncher
-
Environment variables: (none, default)
-
Start page:
optaplanner-wb.html
(default)
Add the upstream wb projects too, because you might want to make changes on those too:
-
Git clone:
guvnor
,kie-wb-common
,drools-wb
too (besidesoptaplanner-wb
) -
Import them all in the same IntelliJ project
-
Make sure to use
Maven → Reimport All Maven Projects
andMaven → Generate Sources and Update Folders for All Projects
to update module dependencies -
GWT-2.8.0 users: Disable "safe writes"
Settings → Appearance & Behavior → System Settings → Use "safe write"
until gwtproject/gwt#9310 is resolved -
Configure a GWT configuration as mentioned above.
-
It is likely crash with
Too many open files
in IntelliJ on linux.-
Use this to fix that:
$ sudo echo "fs.inotify.max_user_watches = 8388608" >> /etc/sysctl.conf $ sudo echo "fs.inotify.max_user_instances = 8388608" >> /etc/sysctl.conf $ sudo sysctl -p ... (no errors) $ ulimit -n 1024 $ sudo echo "* soft nofile 102400" >> /etc/security/limits.conf $ sudo echo "* hard nofile 102400" >> /etc/security/limits.conf $ sudo reboot $ ulimit -n 102400
-
-
If you want to build or contribute to a droolsjbpm project, read this document.
It will save you and us a lot of time by setting up your development environment correctly. It solves all known pitfalls that can disrupt your development. It also describes all guidelines, tips and tricks. If you want your pull requests (or patches) to be merged into master, please respect those guidelines.