IntelliJ IDEA#

Please do also take a look at the screencasts that show the set up of an IntelliJ workspace.

Prerequisites#

  • Java Development Kit (JDK), we recommend the latest version of JDK 14, newer JDKs should work though.
  • Apache Tomcat 9
    Other version might work, but are not officially supported. We recommend to use the linked version 9.0.44. We are dependent on the compatibility with JSPWiki here.
  • IntelliJ IDEA
    You might get a community key for the Ultimate Edition. Please ask via dev list.

First time starting IDEA#

When you first start IDEA you can choose which plugins to enable/disable. Just leave everything enabled to be on the safe side.
After that choose "New Project" and then "Empty Project". Give it a name and hit "Ok".

Auto-Import Maven Modules#

Set IntelliJ to automatically import checked-out or created maven modules: Settings -> "Maven" -> "Importing" -> activate "import maven projects automatically"

Import Repositories#

Clone the following git repositories into your Project folder

https://github.com/denkbares/Commons.git
https://github.com/denkbares/d3web-Runtime.git
https://github.com/denkbares/d3web-KnowWE.git

In your IntelliJ project, for each repository, select "File -> New/Module from Existing Sources..." and select the path folder of the repository. When you get asked which module to import, choose "Import Module from external Model/Maven" and hit "Next". Other screens can also be confirmed with the default/next.

Create copy of jspwiki-custom.properties#

KnowWE is based on JSPWiki and therefore needs an jspwiki-custom.properties to configure some basics. Copy the file KnowWE-App/src/resources/local/WEB-INF/classes/jspwiki-custom.properties.default into the same folder with the same name, but remove the suffix '.default'. For starters, you only need to set a the var.basedir to point to a wikicontent (folder with the wiki pages). If you don't have a wikicontent yet, you can start out with the one provided in the distribution from Downloads#Latest Releases and Builds. In the zip, extract /KnowWE/KnowWE-Tomcat.zip/wikicontent to the path you specified as the var.basedir in your jspwiki-custom.properties.

Building and starting KnowWE#

Select "Run -> Edit Configurations" and add "Tomcat Server -> local". Hit configure and choose your tomcat path. In den bottom pane click "+" and choose "Build Artifacts". Select "KnowWE-App:war exploded". Click on the "Deployment" tab and add "KnowWE-App:war exploded". Select as Application Context "/KnowWE" and click on "Ok". Build KnowWE by clicking on the green arrow right next to our new tomcat configuration.

Eclipse#

At denkbares, we currently don't use eclipse for the development of d3web-KnowWE, but it should work anyway and some users are successfully using it. Here a short guide from Alberto (aarmijo on github):

Set-up:#

Instructions:#

  • Import d3web-KnowWE project as a Maven project. File -> Import -> Existing Maven Projects
  • Window -> Preferences -> Java -> Installed JREs. Add Adoptium JDK and select it
  • Make sure that the ‘JRE System Library’ of each maven project is set to ‘JavaSE-14’ compliance level. Also make sure that in maven project properties, the JDK compliance is limited to 14 in the ‘Java Compiler’ section
  • In KnowWE-App project, under Maven Dependencies properties -> Use Maven Project settings -> Active Maven Profiles, set ‘core-plugins’ as active profile. This will copy the core dependencies to the KnowWE-App application when deploying it into Tomcat
  • Under KnowWE-App project properties -> Java Build Path -> Source, add the next Folder: src/resources/local/WEB-INF/classes. This will copy the jspwiki.properties to the KnowWE-App application when deploying it into Tomcat. Also follow the ste Create copy of jspwiki-custom.properties of the IntelliJ-part of the guide.
  • Add the run configuration to build the project: Run -> Run Configurations -> Double click on Maven Build to create a new configuration. Set the Base directory: ${workspace_loc:/KnowWE}; Goals: install; Profiles: core-plugins; Skip Tests. Under JRE -> Execution environment, select JavaSE-14. Select Maven Runtime -> External (It seems that EMBEDDED flavour is not well managed by Eclipse and the compilation is not constrained to version 14)
  • Click Run to build the project
  • Under the tab Servers, add a Tomcat9 web application server and select the location where you downloaded it. Add KnowWE-App as resource to the right ‘Configured’ section. Under Edit Server Runtime select as JRE the installed JDK 1.7.
  • Click Start to launch the server. Open the application in http://localhost:8080/KnowWE-App