This page (revision-109) was last changed on 14-Mar-2022 11:21 by Albrecht Striffler

This page was created on 17-Dec-2012 10:36 by Johanna Latt

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
109 14-Mar-2022 11:21 5 KB Albrecht Striffler to previous
108 14-Mar-2022 11:21 5 KB Albrecht Striffler to previous | to last
107 14-Mar-2022 11:20 5 KB Albrecht Striffler to previous | to last
106 14-Mar-2022 11:20 5 KB Albrecht Striffler to previous | to last
105 14-Mar-2022 11:18 5 KB Albrecht Striffler to previous | to last
104 14-Mar-2022 11:18 5 KB Albrecht Striffler to previous | to last
103 14-Mar-2022 11:15 5 KB Albrecht Striffler to previous | to last
102 14-Mar-2022 11:14 5 KB Albrecht Striffler to previous | to last
101 14-Mar-2022 11:14 5 KB Albrecht Striffler to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 4 removed 4 lines
!!!Prerequisites
* __[Java Development Kit (JDK)|http://java.sun.com/javase/downloads/index.jsp#jdk]__, Version __1.6.15__ or later \\ __Not Java 7!__
* __[Eclipse 4.2 "Juno" IDE for Java EE Developers|http://www.eclipse.org/juno/]__
* __[Apache Tomcat 6|http://tomcat.apache.org/download-60.cgi]__ \\ Use the "Binary Distribution" - "Core" - .tar.gz or .zip. Do __not__ use the installer. Do __not__ use Tomcat 7
At line 9 removed one line
!!!Eclipse
At line 11 removed one line
To make Eclipse work with Subversion, Tomcat and Maven, you will need a few additional plug-ins.
At line 13 changed 2 lines
!!Installing Plugins
In the main menu, navigate to ''Help'' -> ''Install new software''. In the ''Work with'' field, select ''Juno - http://download.eclipse.org/releases/juno''. Wait for the list of available software to be retrieved, then select the following plug-ins to install:
!!!IntelliJ IDEA
At line 16 changed 3 lines
* Collaboration
** m2e - Maven Integration for Eclipse
** Subversive SVN Team Provider (Incubation)
Please do also take a look at the [screencasts|Tutorial] that show the set up of an IntelliJ workspace.
At line 20 changed one line
Click ''Next'', accept the licenses, and finish the installation. Restart Eclipse when you are asked to.
!!Prerequisites
* [Java Development Kit (JDK)|https://adoptopenjdk.net/], we recommend the latest version of JDK 14, newer JDKs should work though.
* [Apache Tomcat 9|https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.zip]\\ 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|http://www.jetbrains.com/idea/download/index.html] \\ You might get a community key for the Ultimate Edition. Please ask via dev list.
At line 22 changed one line
!!Selecting the SVN implementation
!!First time starting IDEA
At line 24 changed 3 lines
After restarting Eclipse, click on ''Window'' -> ''Open Perspective'' -> ''SVN Repository Exploring''.
A dialog window will be opened asking you to select an SVN connector implementation.
Select __SVNKit 1.3.7__ (or the latest available SVNKit version) and finish the installation wizard.
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".
At line 28 removed one line
You need to accept installing unsigned software, and restart Eclipse again when asked.
At line 30 changed one line
!!Setting up the Maven SVN integration
!!Import Repositories
At line 32 changed one line
Again, go to ''Help'' -> ''Install new software''. Click the ''Add..'' button in the top right corner. In the dialog window, enter the following URL into the ''Location'' field:
Clone the following git repositories into your project folder
At line 34 removed 3 lines
%%quote
{{http://community.polarion.com/projects/subversive/download/integrations/update-site/}}
/%
At line 38 changed one line
Hit ''OK'', then select the following software to be installed:
* {{https://github.com/denkbares/Commons.git}} \\
* {{https://github.com/denkbares/d3web-Runtime.git}} \\
* {{https://github.com/denkbares/d3web-KnowWE.git}} \\
At line 40 changed 2 lines
* Subversive Integration Plug-in's
** Subversive Integration for the M2Eclipse Project
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.
At line 43 changed one line
__For Eclipse earlier Version of Eclipse you can try:__
!! Create copy of jspwiki-custom.properties
At line 45 changed 3 lines
%%quote
{{https://isci.informatik.uni-wuerzburg.de/eclipse/m2e-subversive/}}
/%
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.
At line 37 added one line
!!Building and starting KnowWE
At line 50 changed one line
Hit ''OK'', then select the following software to be installed:
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 line 52 removed 2 lines
* Maven SCM Handler for Subversive
** Maven SCM Handler for Subversive
At line 55 changed one line
Like before, finish the wizard and this time __close__ Eclipse (either click ''Not now'' and exit Eclipse, or let it restart and exit from there).
!!!Eclipse
At line 57 changed one line
!!Sysdeo Tomcat Plug-in
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):
At line 59 changed 2 lines
The Sysdeo Tomcat Plug-in allows you to start Tomcat directly from within Eclipse.
You can find it at [http://www.eclipsetotale.com/tomcatPlugin.html].
!! Set-up
At line 62 changed one line
To perform the installation, download the .zip file provided at the author's homepage and unpack it into the {{plugins/}} folder inside your Eclipse installation.
* [Adoptium Temurin 17 JDK|https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_windows_hotspot_17.0.2_8.msi]
* [Tomcat 9.0.26|https://tomcat.apache.org/download-90.cgi]
* [Eclipse 2022-03|https://www.eclipse.org/downloads/packages/release/2022-03/m2}
* [Maven 3.6.1. |https://archive.apache.org/dist/maven/maven-3/] (The embedded maven in eclipse seems to have some issues when constraining the compilation to JDK14)
At line 64 changed one line
The __KnowWE-App__ project is preconfigured for use with this plug-in.
!! Instructions
At line 66 changed 2 lines
%%collapsebox-closed
!!Groovy Plug-in (optional)
* 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|How-To Create Your Own Workspace#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
At line 69 removed 174 lines
__You can skip this plugin if you do not use the plug-ins using Groovy (e.g., Refactoring, WISEC, CI,...).__
To install the plugin, you need to add a new ''Software Update Site'' in Eclipse:
In the main menu, navigate to ''Help'' -> ''Install new software''. In the dialog, click ''Add...'' and enter the following URL into the ''Location'' text box:
For Eclipse 3.6
%%quote
{{http://dist.springsource.org/milestone/GRECLIPSE/e3.6/}}
/%
For Eclipse 3.5
%%quote
{{http://dist.springsource.org/release/GRECLIPSE/e3.5/}}
/%
Then, you just have to select and install the "Groovy-Eclipse Feature" which you can find under
%%quote
Groovy-Eclipse -> Groovy-Eclipse Feature
/%
Currently, Groovy is only needed for the Project "KnowWE-Plugin-Refactoring". It is highly recommended to install this plugin because otherwise, Eclipse will show errors.
Alternatively, close the project. This is not recommended, because if you change something on the core projects, you will forget eventual changes which concern also the refactoring plugin.
In either case, Maven is able to compile the refactoring plugin and you also will be able to run its maven tests, with or without having installed the Groovy-Plugin for Eclipse.
/%
!!!Preparing your workspace
!! Eclipse settings
Start arguments: \\
Maven needs Eclipse to run in a JDK, not in a JRE. Start Eclipse with the -vm parameter, for example: \\
"C:\Program Files\eclipse\eclipse.exe" -vm "C:\Program Files\Java\jdk1.6.0_17\bin\javaw.exe"
You can find the following Eclipse settings in the main menu at ''Window'' -> ''Preferences''.
Encoding: ''General'' -> ''Workspace'' -> ''Text file encoding'': "UTF-8"
Disable certain compiler errors: ''Java'' -> ''Compiler'' -> ''Errors/Warnings'' -> ''Deprecated and restricted API'' -> ''Forbidden reference:'' "Warning"
[{Image src='saveactions.png' width='232' height='202' align='right' link='/attach/How-To%20Create%20Your%20Own%20Workspace/saveactions.png' caption='The save actions that have to be enabled'}]
!Comment format:
Get the [codetemplates.xml] attached to this page and import it: ''Java'' -> ''Code Style'' -> ''Code Templates''
Enable: ''Automatically add comments for new methods and types''
(If your login name is not meaningful, you have to change the comment template for ''Type'', as your login name is used as author name)
!Code format settings:
Get the [code_conventions.xml] attached to this page and import it: ''Java'' -> ''Code Style'' -> ''Formatter''
To enable automatic formatting, certain actions have to be carried out on saving: ''Java'' -> ''Editor'' -> ''Save Actions''
The screenshot on the right shows the actions, that have to be activated.
! Tomcat plug-in:
''Tomcat'' -> ''Tomcat Version:'' Select your Tomcat version here\\
''Tomcat'' -> ''Tomcat Home:'' Choose the directory where you unpacked the Tomcat zip\\
''Tomcat'' -> ''Context declaration mode:'' "Context files" (do __not__ select server.xml!)\\
''Tomcat'' -> ''JVM Settings'' -> ''JRE:'' check that the correct JRE is selected
''optional'': Set larger heap size for tomcat:\\
''Window'' -> ''Preferences'' -> ''Tomcat'' -> ''JVM Settings'' -> ''add to JVM parameters'' -> set for example: -Xms1g -Xmx1g\\
Read for your exact personal settings: [http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html]
''recommended'': Set Tomcat to use UTF-8 (necessary for special characters like german umlauts in page names for example):\\
You have to edit server.xml of Tomcat (is in the conf-directory of Tomcat). Please add to\\
{{{<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"/>}}}\\
the term __URIEncoding="UTF-8"__.\\
It should look like that:\\
{{{<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8"/>}}}\\
Further information: [http://www.jspwiki.org/wiki/BugProblemsWithGermanUmlaute]
!! Adding the SVN repositories
''Window'' -> ''Open perspective'' -> ''Other…'' -> ''SVN Repository Exploring''.
Repeat the following step for each of the listed repository URIs: \\
In the ''SVN Repositories'' view, perform a right click, select ''New'' -> ''Repository Location''...
__Read/write access (account necessary):__
%%quote
{{https://isci.informatik.uni-wuerzburg.de/svn/d3web-core}} \\
{{https://isci.informatik.uni-wuerzburg.de/svn/d3web-KnowWE}} \\
{{https://isci.informatik.uni-wuerzburg.de/svn/Research}} \\
/%
To get an account, please contact [info@d3web.de|mailto:info@d3web.de].
Accounts on d3web.de are independent from the SVN accounts.
__Anonymous access (read only):__
%%quote
{{https://isci.informatik.uni-wuerzburg.de/anonsvn/d3web-core}} \\
{{https://isci.informatik.uni-wuerzburg.de/anonsvn/d3web-KnowWE}} \\
{{https://isci.informatik.uni-wuerzburg.de/anonsvn/Research}} \\
/%
!! Checking out the code
Select the three main projects (__d3web__, __KnowWE__, and __Research__) as well as __KnowWE-App__ from inside the trunks of the three repositories. They are in the trunk/ folders respectively. Use {{CTRL}} or {{Cmd}} to be able to select multiple projects. Right click one of the projects and select ''Check out as Maven Project…'' and click ''Finish''.
!!! Building KnowWE
!! Create local preferences for JSPWiki
Copy {{KnowWE-App/src/resources/local/WEB-INF/jspwiki.properties.default}} to {{jspwiki.properties}} in the same directory. __Do not rename it in Eclipse.__ \\
In {{jspwiki.properties}}, edit the settings for your local environment. The three most important settings are at the top.
!!Package KnowWE-Resources
Right click 'KnowWE-Resources' project -> ''Run as'' -> ''Maven package''
!! Create a run configuration for building the wiki
Right click on "KnowWE-App", select ''Run as'' -> ''Maven build…''. \\
A dialog will show. Set the following settings: \\
Goals: {{clean install}} \\
Profiles: {{local core-plugins}}
\\Enable checkbox "Resolve Workspace artifacts"
!! Updating the Tomcat context
Right click on "KnowWE-App" -> ''Tomcat project'' -> ''Refresh context in Tomcat''
!!! Starting KnowWE
You can now start Tomcat using the ''Start tomcat'' toolbar button or menu entry. Open the following URI in your browser:
%%quote
http://localhost:8080/KnowWE/
/%
!!!Troubleshooting
!! Compile errors after first build
Sometimes you get errors like:
{{{
Cannot nest output folder 'd3web-Distributed/target/classes' inside output folder 'd3web-Distributed'
}}}
If this happens, close and open all affected projects. Alternatively, you have to do the following steps:
# Remove the affected projects from the workspace without deleting them, by selecting 'Delete' from the context menu and unchecking the checkbox.
# Import the project back to the workspace:
## Menu: File->Import...
## General: Existing projects into workspace
## As root directory select the project directory itself, e.g. <workspacedir>\d3web-KnowWE\d3web-distributed.
## Select the project in the list.
## Click 'Finish'.
# Repeat step 2 for every project that was affected.
!! ClassCastException on startup
You might encounter the following exception:
{{{
java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
}}}
__Workaround:__ In the folder where you unpacked Tomcat (e.g. {{/usr/local/apache-tomcat-6.0.20/}}) you can find a directory called {{conf}}. In there is {{context.xml}}. Add follwing statement into the {{<Context>}} element:
%%quote
{{<Loader delegate="true"/>}}
/%
([Related upstream bug|https://issues.apache.org/bugzilla/show_bug.cgi?id=46344])