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.
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".
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.
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.
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.
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):
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