Quote from: Filipp Sudanov on March 09, 2026, 05:48:55 PMCurrently there are a bit different requirements for web api and web UI. Web UI requires ee10, web-api - ee8.
If you are using both, then you'd need two versions of Tomcat.
Or you can use Jetty - the you can put .in file into webapps folder, e.g.
netxms-webscv-6.0.4.1.war.ini
with the following contents:
environment=ee8
Enabled Modules:
----------------
0) resources ${jetty.base}/start.ini
1) logging/slf4j transitive provider of logging/slf4j for logging-jetty
dynamic dependency of logging-jetty
2) logging-jetty transitive provider of logging for threadpool
transitive provider of logging for bytebufferpool
transitive provider of logging for scheduler
transitive provider of logging for console-capture
3) bytebufferpool transitive provider of bytebufferpool for server
4) ext ${jetty.base}/start.ini
5) http-config transitive provider of http-config for server
6) scheduler transitive provider of scheduler for server
7) threadpool transitive provider of threadpool for server
8) server transitive provider of server for http
transitive provider of server for deployment-scanner
transitive provider of server for sessions
transitive provider of server for ee10-security
transitive provider of server for ee10-servlet
transitive provider of server for ee10-quickstart
transitive provider of server for requestlog
transitive provider of server for jndi
transitive provider of server for websocket-core-server
transitive provider of server for ee8-plus
transitive provider of server for ee10-plus
transitive provider of server for plus
transitive provider of server for annotations
transitive provider of server for security
transitive provider of server for ee8-servlet
transitive provider of server for ee8-security
transitive provider of server for deployer-standard
9) annotations transitive provider of annotations for ee8-annotations
transitive provider of annotations for ee10-annotations
10) gzip-compression transitive provider of gzip-compression for client
11) client transitive provider of client for websocket-core-client
12) console-capture ${jetty.base}/start.ini
13) deployer-standard transitive provider of deployer for deployment-scanner
14) deployment-scanner transitive provider of deployment-scanner for ee10-deploy
transitive provider of deployment-scanner for ee8-deploy
15) sessions transitive provider of sessions for ee10-servlet
transitive provider of sessions for ee8-servlet
16) ee10-servlet transitive provider of ee10-servlet for ee10-apache-jsp
transitive provider of ee10-servlet for ee10-webapp
transitive provider of ee10-servlet for ee10-security
transitive provider of ee10-servlet for ee10-jsp
17) security transitive provider of security for ee10-security
transitive provider of security for ee8-security
18) ee10-security transitive provider of ee10-security for ee10-webapp
transitive provider of ee10-security for ee10-plus
19) ee-webapp transitive provider of ee-webapp for ee10-webapp
transitive provider of ee-webapp for ee8-webapp
20) ee10-webapp transitive provider of ee10-webapp for ee10-quickstart
transitive provider of ee10-webapp for ee10-plus
transitive provider of ee10-webapp for ee10-deploy
21) jndi transitive provider of jndi for ee8-plus
transitive provider of jndi for ee10-plus
22) plus transitive provider of plus for ee8-annotations
transitive provider of plus for ee8-plus
transitive provider of plus for ee10-plus
23) ee10-plus transitive provider of ee10-plus for ee10-quickstart
transitive provider of ee10-plus for ee10-annotations
24) ee10-annotations transitive provider of ee10-annotations for ee10-jsp
transitive provider of ee10-annotations for ee10-websocket-jakarta
transitive provider of ee10-annotations for ee10-apache-jsp
transitive provider of ee10-annotations for ee10-quickstart
25) ee10-apache-jsp transitive provider of ee10-apache-jsp for ee10-glassfish-jstl
transitive provider of ee10-apache-jsp for ee10-jsp
26) ee10-deploy ${jetty.base}/start.ini
27) ee10-glassfish-jstl transitive provider of ee10-glassfish-jstl for ee10-jstl
28) ee10-jsp ${jetty.base}/start.ini
29) ee10-jstl ${jetty.base}/start.ini
30) ee10-quickstart ${jetty.base}/start.ini
31) websocket-core-client transitive provider of websocket-core-client for ee10-websocket-jakarta
transitive provider of websocket-core-client for ee8-websocket-javax
32) websocket-core-server transitive provider of websocket-core-server for ee8-websocket-javax
transitive provider of websocket-core-server for ee10-websocket-jakarta
33) ee10-websocket-jakarta ${jetty.base}/start.ini
34) ee8-servlet transitive provider of ee8-servlet for ee8-webapp
transitive provider of ee8-servlet for ee8-security
35) ee8-security transitive provider of ee8-security for ee8-plus
transitive provider of ee8-security for ee8-webapp
36) ee8-webapp transitive provider of ee8-webapp for ee8-plus
transitive provider of ee8-webapp for ee8-deploy
37) ee8-plus transitive provider of ee8-plus for ee8-annotations
38) ee8-annotations transitive provider of ee8-annotations for ee8-websocket-javax
39) ee8-deploy ${jetty.base}/start.ini
40) ee8-ext ${jetty.base}/start.ini
41) ee8-websocket-javax ${jetty.base}/start.ini
42) http ${jetty.base}/start.ini
43) requestlog ${jetty.base}/start.ini
JVM Version & Properties:
-------------------------
java.home = /usr/lib/jvm/jdk-17
java.vm.vendor = Oracle Corporation
java.vm.version = 17.0.7+8-LTS-224
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.info = mixed mode, sharing
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 17.0.7+8-LTS-224
java.io.tmpdir = /tmp
user.dir = /opt/jetty12
user.language = en
user.country = US
Jetty Version & Properties:
---------------------------
jetty.version = 12.1.8
jetty.tag.version = jetty-12.1.8
jetty.build = c9cdc9aaa434a3665b8a53b4d1cc3684992da649
jetty.home = /opt/jetty12
jetty.base = /opt/jetty12
Config Search Order:
--------------------
<command-line>
${jetty.base} -> /opt/jetty12
${jetty.home} -> /opt/jetty12
System Properties:
------------------
(no system properties specified)
Properties: Jetty
-----------------
asm.version = 9.9.1
java.version = 17.0.7
java.version.platform = 17
jetty.base = /opt/jetty12
jetty.base.uri = file:///opt/jetty12
jetty.home = /opt/jetty12
jetty.home.uri = file:///opt/jetty12
jetty.requestlog.dir = logs
jetty.webapp.addHiddenClasses = org.eclipse.jetty.logging.,${jetty.home.uri}/lib/logging/,org.slf4j.
runtime.feature.alpn = true
slf4j.version = 2.0.17
Classpath: Jetty
----------------
Version Information on 26 entries in the classpath.
Note: order presented here is how they would appear on the classpath.
changes to the --module=name command line options will be reflected here.
0: 2.0.17 | ${jetty.base}/lib/logging/slf4j-api-2.0.17.jar | https://opensource.org/license/mit
1: 12.1.8 | ${jetty.base}/lib/logging/jetty-slf4j-impl-12.1.8.jar | EPL-2.0 OR Apache-2.0
2: 12.1.8 | ${jetty.base}/lib/jetty-http-12.1.8.jar | EPL-2.0 OR Apache-2.0
3: 12.1.8 | ${jetty.base}/lib/jetty-util-12.1.8.jar | EPL-2.0 OR Apache-2.0
4: 12.1.8 | ${jetty.base}/lib/jetty-server-12.1.8.jar | EPL-2.0 OR Apache-2.0
5: 12.1.8 | ${jetty.base}/lib/jetty-xml-12.1.8.jar | EPL-2.0 OR Apache-2.0
6: 12.1.8 | ${jetty.base}/lib/jetty-io-12.1.8.jar | EPL-2.0 OR Apache-2.0
7: 12.1.8 | ${jetty.base}/lib/jetty-annotations-12.1.8.jar | EPL-2.0 OR Apache-2.0
8: 9.9.1 | ${jetty.base}/lib/annotations/asm-9.9.1.jar | BSD-3-Clause;link=https://asm.ow2.io/LICENSE.txt
9: 9.9.1 | ${jetty.base}/lib/annotations/asm-analysis-9.9.1.jar | BSD-3-Clause;link=https://asm.ow2.io/LICENSE.txt
10: 9.9.1 | ${jetty.base}/lib/annotations/asm-commons-9.9.1.jar | BSD-3-Clause;link=https://asm.ow2.io/LICENSE.txt
11: 9.9.1 | ${jetty.base}/lib/annotations/asm-tree-9.9.1.jar | BSD-3-Clause;link=https://asm.ow2.io/LICENSE.txt
12: 12.1.8 | ${jetty.base}/lib/compression/jetty-compression-common-12.1.8.jar | EPL-2.0 OR Apache-2.0
13: 12.1.8 | ${jetty.base}/lib/compression/jetty-compression-gzip-12.1.8.jar | EPL-2.0 OR Apache-2.0
14: 12.1.8 | ${jetty.base}/lib/jetty-alpn-client-12.1.8.jar | EPL-2.0 OR Apache-2.0
15: 12.1.8 | ${jetty.base}/lib/jetty-alpn-java-client-12.1.8.jar | EPL-2.0 OR Apache-2.0
16: 12.1.8 | ${jetty.base}/lib/jetty-client-12.1.8.jar | EPL-2.0 OR Apache-2.0
17: 12.1.8 | ${jetty.base}/lib/jetty-deploy-12.1.8.jar | EPL-2.0 OR Apache-2.0
18: 12.1.8 | ${jetty.base}/lib/jetty-session-12.1.8.jar | EPL-2.0 OR Apache-2.0
19: 12.1.8 | ${jetty.base}/lib/jetty-security-12.1.8.jar | EPL-2.0 OR Apache-2.0
20: 12.1.8 | ${jetty.base}/lib/jetty-ee-webapp-12.1.8.jar | EPL-2.0 OR Apache-2.0
21: 12.1.8 | ${jetty.base}/lib/jetty-jndi-12.1.8.jar | EPL-2.0 OR Apache-2.0
22: 12.1.8 | ${jetty.base}/lib/jetty-plus-12.1.8.jar | EPL-2.0 OR Apache-2.0
23: 12.1.8 | ${jetty.base}/lib/jetty-websocket-core-common-12.1.8.jar | EPL-2.0 OR Apache-2.0
24: 12.1.8 | ${jetty.base}/lib/jetty-websocket-core-client-12.1.8.jar | EPL-2.0 OR Apache-2.0
25: 12.1.8 | ${jetty.base}/lib/jetty-websocket-core-server-12.1.8.jar | EPL-2.0 OR Apache-2.0
Active XMLs: Jetty
------------------
${jetty.base}/etc/jetty-bytebufferpool.xml
${jetty.base}/etc/jetty-http-config.xml
${jetty.base}/etc/jetty-scheduler.xml
${jetty.base}/etc/jetty-threadpool.xml
${jetty.base}/etc/jetty.xml
${jetty.base}/etc/console-capture.xml
${jetty.base}/etc/jetty-deployer-standard.xml
${jetty.base}/etc/jetty-deployment-scanner.xml
${jetty.base}/etc/sessions/id-manager.xml
${jetty.base}/etc/jetty-ee-webapp.xml
${jetty.base}/etc/jetty-http.xml
${jetty.base}/etc/jetty-requestlog.xml
Properties: ee10
----------------
http.timeout = 30000
jetty.port = 8080
jetty.threadPool.idleTimeout = 60000
jetty.threadPool.maxThreads = 200
jetty.threadPool.minThreads = 10
Classpath: ee10
---------------
Version Information on 26 entries in the classpath.
Note: order presented here is how they would appear on the classpath.
changes to the --module=name command line options will be reflected here.
0: 6.0.0 | ${jetty.base}/lib/jakarta.servlet-api-6.0.0.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
1: 12.1.8 | ${jetty.base}/lib/jetty-ee10-servlet-12.1.8.jar | EPL-2.0 OR Apache-2.0
2: 12.1.8 | ${jetty.base}/lib/jetty-ee10-webapp-12.1.8.jar | EPL-2.0 OR Apache-2.0
3: 12.1.8 | ${jetty.base}/lib/jetty-ee10-plus-12.1.8.jar | EPL-2.0 OR Apache-2.0
4: 2.0.1 | ${jetty.base}/lib/jakarta.transaction-api-2.0.1.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
5: 2.1.0 | ${jetty.base}/lib/jakarta.interceptor-api-2.1.0.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
6: 4.0.1 | ${jetty.base}/lib/jakarta.enterprise.cdi-api-4.0.1.jar | https://www.apache.org/licenses/LICENSE-2.0
7: 2.0 | ${jetty.base}/lib/jakarta.inject-api-2.0.1.jar | http://www.apache.org/licenses/LICENSE-2.0.txt
8: 4.0.1 | ${jetty.base}/lib/jakarta.enterprise.lang-model-4.0.1.jar | https://repository.jboss.org/licenses/apache-2.0.txt
9: 12.1.8 | ${jetty.base}/lib/jetty-ee10-annotations-12.1.8.jar | EPL-2.0 OR Apache-2.0
10: 2.1.1 | ${jetty.base}/lib/ee10-annotations/jakarta.annotation-api-2.1.1.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
11: 5.0.1 | ${jetty.base}/lib/ee10-apache-jsp/jakarta.el-api-5.0.1.jar | https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt, https://www.gnu.org/software/classpath/license.html
12: 3.1.1 | ${jetty.base}/lib/ee10-apache-jsp/jakarta.servlet.jsp-api-3.1.1.jar | https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt, https://www.gnu.org/software/classpath/license.html
13: 3.45.0.v20260224-0835 | ${jetty.base}/lib/ee10-apache-jsp/ecj-3.45.0.jar
14: 10.1.48 | ${jetty.base}/lib/ee10-apache-jsp/mortbay-apache-el-10.1.48.jar | http://www.apache.org/licenses/LICENSE-2.0
15: 10.1.48 | ${jetty.base}/lib/ee10-apache-jsp/mortbay-apache-jsp-10.1.48.jar | http://www.apache.org/licenses/LICENSE-2.0
16: 12.1.8 | ${jetty.base}/lib/jetty-ee10-apache-jsp-12.1.8.jar | EPL-2.0 OR Apache-2.0
17: 3.0.0 | ${jetty.base}/lib/ee10-glassfish-jstl/jakarta.servlet.jsp.jstl.jakarta.servlet.jsp.jstl-api-3.0.0.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
18: 3.0.1 | ${jetty.base}/lib/ee10-glassfish-jstl/org.glassfish.web.jakarta.servlet.jsp.jstl-3.0.1.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
19: 12.1.8 | ${jetty.base}/lib/jetty-ee10-quickstart-12.1.8.jar | EPL-2.0 OR Apache-2.0
20: 12.1.8 | ${jetty.base}/lib/ee10-websocket/jetty-ee10-websocket-servlet-12.1.8.jar | EPL-2.0 OR Apache-2.0
21: 2.1.1 | ${jetty.base}/lib/ee10-websocket/jakarta.websocket-client-api-2.1.1.jar | https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt, https://www.gnu.org/software/classpath/license.html
22: 2.1.1 | ${jetty.base}/lib/ee10-websocket/jakarta.websocket-api-2.1.1.jar | https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt, https://www.gnu.org/software/classpath/license.html
23: 12.1.8 | ${jetty.base}/lib/ee10-websocket/jetty-ee10-websocket-jakarta-client-12.1.8.jar | EPL-2.0 OR Apache-2.0
24: 12.1.8 | ${jetty.base}/lib/ee10-websocket/jetty-ee10-websocket-jakarta-common-12.1.8.jar | EPL-2.0 OR Apache-2.0
25: 12.1.8 | ${jetty.base}/lib/ee10-websocket/jetty-ee10-websocket-jakarta-server-12.1.8.jar | EPL-2.0 OR Apache-2.0
Active XMLs: ee10
-----------------
${jetty.base}/etc/jetty-ee10-webapp.xml
${jetty.base}/etc/jetty-ee10-deploy.xml
${jetty.base}/etc/jetty-ee10-quickstart.xml
Properties: ee8
---------------
ee8.jakarta.annotation.api.version = @jakarta.annotation.api.version@
Classpath: ee8
--------------
Version Information on 15 entries in the classpath.
Note: order presented here is how they would appear on the classpath.
changes to the --module=name command line options will be reflected here.
0: 4.0.9 | ${jetty.base}/lib/jetty-servlet-api-4.0.9.jar | http://www.apache.org/licenses/LICENSE-2.0, https://www.eclipse.org/legal/epl-2.0/
1: 12.1.8 | ${jetty.base}/lib/jetty-ee8-nested-12.1.8.jar | EPL-2.0 OR Apache-2.0
2: 12.1.8 | ${jetty.base}/lib/jetty-ee8-servlet-12.1.8.jar | EPL-2.0 OR Apache-2.0
3: 12.1.8 | ${jetty.base}/lib/jetty-ee8-security-12.1.8.jar | EPL-2.0 OR Apache-2.0
4: 12.1.8 | ${jetty.base}/lib/jetty-ee8-webapp-12.1.8.jar | EPL-2.0 OR Apache-2.0
5: 12.1.8 | ${jetty.base}/lib/jetty-ee8-plus-12.1.8.jar | EPL-2.0 OR Apache-2.0
6: 1.3.3 | ${jetty.base}/lib/jakarta.transaction-api-1.3.3.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
7: 12.1.8 | ${jetty.base}/lib/jetty-ee8-annotations-12.1.8.jar | EPL-2.0 OR Apache-2.0
8: 1.3.5 | ${jetty.base}/lib/ee8-annotations/jakarta.annotation-api-1.3.5.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
9: 4.0.3 | ${jetty.base}/lib/ee8/ext/jakarta.servlet-api-4.0.3.jar | http://www.eclipse.org/legal/epl-2.0, https://www.gnu.org/software/classpath/license.html
10: 12.1.8 | ${jetty.base}/lib/ee8-websocket/jetty-ee8-websocket-servlet-12.1.8.jar | EPL-2.0 OR Apache-2.0
11: 1.1.2 | ${jetty.base}/lib/ee8-websocket/jetty-javax-websocket-api-1.1.2.jar | http://www.apache.org/licenses/LICENSE-2.0, http://www.eclipse.org/org/documents/epl-v10.php
12: 12.1.8 | ${jetty.base}/lib/ee8-websocket/jetty-ee8-websocket-javax-client-12.1.8.jar | EPL-2.0 OR Apache-2.0
13: 12.1.8 | ${jetty.base}/lib/ee8-websocket/jetty-ee8-websocket-javax-common-12.1.8.jar | EPL-2.0 OR Apache-2.0
14: 12.1.8 | ${jetty.base}/lib/ee8-websocket/jetty-ee8-websocket-javax-server-12.1.8.jar | EPL-2.0 OR Apache-2.0
Active XMLs: ee8
----------------
${jetty.base}/etc/jetty-ee8-webapp.xml
${jetty.base}/etc/jetty-ee8-deploy.xml