[Project] Updated documentation for creating webapps
This commit is contained in:
parent
df08dadf69
commit
d02786bbd7
|
@ -5,7 +5,7 @@ weight: 90
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
To start developing Strolch you need an installed:
|
To start developing Strolch you need an installed:
|
||||||
* Java JDK 11
|
* Java JDK 17
|
||||||
* Apache Maven 3.x
|
* Apache Maven 3.x
|
||||||
|
|
||||||
## Building Strolch
|
## Building Strolch
|
||||||
|
@ -32,20 +32,6 @@ projects. Now you can start modifying the projects, and add your own features,
|
||||||
or, far more interesting, start developing your projects using the Strolch
|
or, far more interesting, start developing your projects using the Strolch
|
||||||
agent.
|
agent.
|
||||||
|
|
||||||
## Converting an existing application
|
|
||||||
|
|
||||||
You can convert an existing application to a Strolch agent, but this might be a
|
|
||||||
bit daunting in the beginning. If you are planning on doing this, first create a
|
|
||||||
test application using the maven archetypes, so that you can get a feel for the configuration.
|
|
||||||
|
|
||||||
Once that works, use the archetypes configuration to reconfigure your project to start as a Strolch agent.
|
|
||||||
|
|
||||||
{{% notice warning %}}
|
|
||||||
Note: Beware to select the archetype pertaining to your use case:
|
|
||||||
* For a web app use the [li.strolch.mvn.archetype.webapp](/development/#creating-a-java-strolch-web-app)
|
|
||||||
* For a application with a main method use [li.strolch.mvn.archetype.main](/development/#creating-a-simple-java-strolch-app)
|
|
||||||
{{% /notice %}}
|
|
||||||
|
|
||||||
## Creating a Strolch App
|
## Creating a Strolch App
|
||||||
|
|
||||||
To create your own Strolch App, you can use Maven's archetype generation. There
|
To create your own Strolch App, you can use Maven's archetype generation. There
|
||||||
|
@ -55,7 +41,7 @@ usual way to run Strolch runtimes.
|
||||||
|
|
||||||
{{% notice warning %}}
|
{{% notice warning %}}
|
||||||
Note: you need to have installed Strolch to your local maven repo, otherwise the
|
Note: you need to have installed Strolch to your local maven repo, otherwise the
|
||||||
archetype won't be available.
|
archetype won't be available.
|
||||||
{{% /notice %}}
|
{{% /notice %}}
|
||||||
|
|
||||||
### Creating a Java Strolch Web App
|
### Creating a Java Strolch Web App
|
||||||
|
@ -70,10 +56,11 @@ The code is also available on [GitHub](https://github.com/strolch-li/strolch/tre
|
||||||
mvn archetype:generate \
|
mvn archetype:generate \
|
||||||
-DarchetypeGroupId=li.strolch \
|
-DarchetypeGroupId=li.strolch \
|
||||||
-DarchetypeArtifactId=li.strolch.mvn.archetype.webapp \
|
-DarchetypeArtifactId=li.strolch.mvn.archetype.webapp \
|
||||||
-DarchetypeVersion=1.6.0-SNAPSHOT \
|
-DarchetypeVersion=1.8.0-SNAPSHOT \
|
||||||
-DgroupId=<my.groupid> \
|
-DgroupId=<my.groupid> \
|
||||||
-DartifactId=<my-artifactId> \
|
-DartifactId=<my-artifactId> \
|
||||||
-Dversion=<my.version> \
|
-Dversion=<my.version> \
|
||||||
|
-Dpackage=<my.package> \
|
||||||
-DappName="<my app name>"
|
-DappName="<my app name>"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -87,23 +74,56 @@ Once NodeJS is installed, then you can prepare the web dependencies:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd src/main/webapp/
|
cd src/main/webapp/
|
||||||
|
npm install bower -g
|
||||||
npm install gulp -g
|
npm install gulp -g
|
||||||
npm install
|
npm install
|
||||||
|
bower install
|
||||||
gulp
|
gulp
|
||||||
|
cd ../../..
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% notice warning %}} Note: Whenever the bower.json is changed then you should
|
{{% notice warning %}} Note: Whenever the bower.json is changed then you should
|
||||||
again call npm install inside the webapp folder. {{% /notice %}}
|
again call npm install inside the webapp folder. {{% /notice %}}
|
||||||
|
|
||||||
#### Building the WAR
|
#### Building and running the WAR
|
||||||
|
|
||||||
Building the WAR uses the `package` maven goal, but to have the optimized WAR
|
Building the WAR uses the `package` maven goal, but to have the optimized WAR
|
||||||
use the `release` profile:
|
use the `release` profile.
|
||||||
|
|
||||||
```shell
|
To run this WAR, we must configure the path of Strolch's runtime in the `StrolchBootstrap.xml` file, by updating the following block,
|
||||||
mvn clean package -Prelease
|
setting the absolute path to the `runtime` from the new project:
|
||||||
|
```xml
|
||||||
|
<env id="test" default="true">
|
||||||
|
<root>/absolute/path/to/<my-artifactId>/runtime</root>
|
||||||
|
<environment>test</environment>
|
||||||
|
</env>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Now we can build the project using the configured environment:
|
||||||
|
```shell
|
||||||
|
mvn clean package -Prelease -Dstrolch.env=test
|
||||||
|
```
|
||||||
|
|
||||||
|
Now copy the WAR from the `target/` directory to the `webapps/` directory of your Tomcat 9.x installation. Now you can start tomcat using:
|
||||||
|
```shell
|
||||||
|
catalina.sh run
|
||||||
|
```
|
||||||
|
|
||||||
|
In the console you'll then see something like this:
|
||||||
|
```log
|
||||||
|
INFO l.s.a.impl.ComponentContainerImpl:283 start - System: OS: Linux 5.16.15 Arch: amd64 on Java Azul Systems, Inc. 17 CPU Cores: 32
|
||||||
|
INFO l.s.a.impl.ComponentContainerImpl:284 start - Memory: Memory available 16.8 GB / Used: 604.0 MB / Free: 540.6 MB
|
||||||
|
INFO l.s.a.impl.ComponentContainerImpl:285 start - Using locale en with timezone Europe/Zurich
|
||||||
|
INFO l.s.a.impl.ComponentContainerImpl:288 start - file.encoding: UTF-8 / sun.jnu.encoding UTF-8
|
||||||
|
INFO l.s.a.impl.ComponentContainerImpl:307 start - eSyTest:test All 12 Strolch Components started. Took 43ms. Strolch is now ready to be used. Have fun =))
|
||||||
|
INFO c.atexxi.esytest.web.StartupListener:43 contextInitialized - Started eSyTest in 244ms
|
||||||
|
```
|
||||||
|
|
||||||
|
And now you can open a browser and login: `http://localhost:8080/<my-artifactId>`
|
||||||
|
|
||||||
|
The default username and password are `admin` / `admin`. After logging you, you should see the following view:
|
||||||
|
|
||||||
|
![Strolch Demo App](/assets/images/demo-app.png)
|
||||||
|
|
||||||
Happy coding =))
|
Happy coding =))
|
||||||
|
|
||||||
### Creating a simple Java Strolch App
|
### Creating a simple Java Strolch App
|
||||||
|
@ -119,7 +139,7 @@ The code is also available on [GitHub](https://github.com/strolch-li/strolch/tre
|
||||||
mvn archetype:generate \
|
mvn archetype:generate \
|
||||||
-DarchetypeGroupId=li.strolch \
|
-DarchetypeGroupId=li.strolch \
|
||||||
-DarchetypeArtifactId=li.strolch.mvn.archetype.main \
|
-DarchetypeArtifactId=li.strolch.mvn.archetype.main \
|
||||||
-DarchetypeVersion=1.6.0-SNAPSHOT \
|
-DarchetypeVersion=1.8.0-SNAPSHOT \
|
||||||
-DgroupId=<my.groupid> \
|
-DgroupId=<my.groupid> \
|
||||||
-DartifactId=<my-artifactId> \
|
-DartifactId=<my-artifactId> \
|
||||||
-Dversion=<my.version> \
|
-Dversion=<my.version> \
|
||||||
|
@ -141,6 +161,20 @@ mvn exec:java
|
||||||
|
|
||||||
Happy coding =))
|
Happy coding =))
|
||||||
|
|
||||||
|
## Converting an existing application
|
||||||
|
|
||||||
|
You can convert an existing application to a Strolch agent, but this might be a
|
||||||
|
bit daunting in the beginning. If you are planning on doing this, first create a
|
||||||
|
test application using the maven archetypes, so that you can get a feel for the configuration.
|
||||||
|
|
||||||
|
Once that works, use the archetypes configuration to reconfigure your project to start as a Strolch agent.
|
||||||
|
|
||||||
|
{{% notice warning %}}
|
||||||
|
Note: Beware to select the archetype pertaining to your use case:
|
||||||
|
* For a web app use the [li.strolch.mvn.archetype.webapp](/development/#creating-a-java-strolch-web-app)
|
||||||
|
* For a application with a main method use [li.strolch.mvn.archetype.main](/development/#creating-a-simple-java-strolch-app)
|
||||||
|
{{% /notice %}}
|
||||||
|
|
||||||
## Tools used
|
## Tools used
|
||||||
|
|
||||||
The following tools are used to develop Strolch and Strolch-based projects:
|
The following tools are used to develop Strolch and Strolch-based projects:
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 44 KiB |
Loading…
Reference in New Issue