Compare commits
No commits in common. 'master' and 'main' have entirely different histories.
@ -1,585 +0,0 @@
|
|||||||
================================================================================
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
====================================================
|
|
||||||
Building The Apache Tomcat 8.5 Servlet/JSP Container
|
|
||||||
====================================================
|
|
||||||
|
|
||||||
This project contains the source code for Tomcat 8.5, a container that
|
|
||||||
implements the Servlet 3.1, JSP 2.3, EL 3.0, WebSocket 1.1 and JASPIC 1.1
|
|
||||||
specifications from the Java Community Process <https://www.jcp.org/>.
|
|
||||||
|
|
||||||
Note: If you just need to run Apache Tomcat, it is not necessary to build
|
|
||||||
it. You may simply download a binary distribution. It is cross-platform.
|
|
||||||
Read RUNNING.txt for the instruction on how to run it.
|
|
||||||
|
|
||||||
In order to build a binary distribution version of Apache Tomcat from a
|
|
||||||
source distribution, do the following:
|
|
||||||
|
|
||||||
|
|
||||||
(1) Download and Install a Java Development Kit
|
|
||||||
|
|
||||||
1. If the JDK is already installed, skip to (2).
|
|
||||||
|
|
||||||
2. Download a version 11 or later of Java Development Kit (JDK) release (use
|
|
||||||
the latest update available for your chosen version) from one of:
|
|
||||||
|
|
||||||
http://www.oracle.com/technetwork/java/javase/downloads/index.html
|
|
||||||
http://openjdk.java.net/install/index.html
|
|
||||||
or another JDK vendor.
|
|
||||||
|
|
||||||
Note regarding later versions of Java:
|
|
||||||
|
|
||||||
As documented elsewhere, one of components in Apache Tomcat includes
|
|
||||||
a private copy of the Apache Commons DBCP 2 library.
|
|
||||||
|
|
||||||
The JDBC interfaces implemented by DBCP frequently change in non-backwards
|
|
||||||
compatible ways between versions of the Java SE specification. Therefore,
|
|
||||||
it is likely that DBCP 2 will only compile with the specific version of Java
|
|
||||||
listed above and that compilation will fail if a later version of Java is
|
|
||||||
used.
|
|
||||||
|
|
||||||
See Apache Commons DBCP 2 project web site for more details on
|
|
||||||
available versions of the library and its requirements,
|
|
||||||
|
|
||||||
https://commons.apache.org/dbcp/
|
|
||||||
|
|
||||||
3. Install the JDK according to the instructions included with the release.
|
|
||||||
|
|
||||||
4. Set an environment variable JAVA_HOME to the pathname of the directory
|
|
||||||
into which you installed the JDK release.
|
|
||||||
|
|
||||||
|
|
||||||
(2) Install Apache Ant version 1.9.10 or later on your computer.
|
|
||||||
|
|
||||||
1. If Apache Ant version 1.9.10 or later is already installed on your
|
|
||||||
computer, skip to (3).
|
|
||||||
|
|
||||||
2. Download a binary distribution of Ant from:
|
|
||||||
|
|
||||||
https://ant.apache.org/bindownload.cgi
|
|
||||||
|
|
||||||
3. Unpack the binary distribution into a convenient location so that the
|
|
||||||
Ant release resides in its own directory (conventionally named
|
|
||||||
"apache-ant-[version]").
|
|
||||||
|
|
||||||
For the purposes of the remainder of this document, the symbolic name
|
|
||||||
"${ant.home}" is used to refer to the full pathname of the release
|
|
||||||
directory.
|
|
||||||
|
|
||||||
4. Create an ANT_HOME environment variable to point the directory
|
|
||||||
${ant.home}.
|
|
||||||
|
|
||||||
5. Modify the PATH environment variable to include the directory
|
|
||||||
${ant.home}/bin in its list. This makes the "ant" command line script
|
|
||||||
available, which will be used to actually perform the build.
|
|
||||||
|
|
||||||
|
|
||||||
(3) Building Tomcat 8.5
|
|
||||||
|
|
||||||
(3.1) Checkout or obtain the source code for Tomcat 8.5
|
|
||||||
|
|
||||||
Clone the source using git, then checkout a specific major branch or
|
|
||||||
main for the latest code development, or download and unpack a source
|
|
||||||
package.
|
|
||||||
|
|
||||||
* Tomcat GitHub repository URL:
|
|
||||||
|
|
||||||
https://github.com/apache/tomcat
|
|
||||||
|
|
||||||
* Source packages can be downloaded from:
|
|
||||||
|
|
||||||
https://tomcat.apache.org/download-80.cgi
|
|
||||||
|
|
||||||
The location where the source has been placed will be further referred as
|
|
||||||
${tomcat.source}.
|
|
||||||
|
|
||||||
The Tomcat local build process does not modify line-endings. The svn repository
|
|
||||||
is configured so that all files will be checked out with the line-ending
|
|
||||||
appropriate for the current platform. When using a source package you should
|
|
||||||
ensure that you use the source package that has the appropriate line-ending
|
|
||||||
for your platform:
|
|
||||||
|
|
||||||
zip -> CRLF
|
|
||||||
tar.gz -> LF
|
|
||||||
|
|
||||||
Note that the release build process does modify line-endings to ensure that
|
|
||||||
each release package has the appropriate line-endings.
|
|
||||||
|
|
||||||
(3.2) Building
|
|
||||||
|
|
||||||
1. The build is controlled by creating a ${tomcat.source}/build.properties
|
|
||||||
file.
|
|
||||||
|
|
||||||
It is recommended to always create the file, because of unfortunate
|
|
||||||
default value of base.path property. You may start with the following
|
|
||||||
content for the file:
|
|
||||||
|
|
||||||
# ----- Default Base Path for Dependent Packages -----
|
|
||||||
# Replace this path with the directory path where dependencies binaries
|
|
||||||
# should be downloaded
|
|
||||||
base.path=/home/me/some-place-to-download-to
|
|
||||||
|
|
||||||
2. Configure base.path property by adding it to the
|
|
||||||
${tomcat.source}/build.properties file.
|
|
||||||
|
|
||||||
The base.path property specifies the place where Tomcat dependencies
|
|
||||||
required by the build are downloaded. It is recommended to place this
|
|
||||||
directory outside of the source tree, so that you do not waste your
|
|
||||||
time re-downloading the libraries.
|
|
||||||
|
|
||||||
* NOTE: The default value of the base.path property configures the build script
|
|
||||||
to download the libraries required to build Tomcat to the
|
|
||||||
${user.home}/tomcat-build-libs directory.
|
|
||||||
|
|
||||||
* NOTE: Users accessing the Internet through a proxy must use the properties
|
|
||||||
file to indicate to Ant the proxy configuration.
|
|
||||||
|
|
||||||
The following properties should be added to the ${tomcat.source}/build.properties
|
|
||||||
file.
|
|
||||||
|
|
||||||
proxy.use=true
|
|
||||||
proxy.host=proxy.domain
|
|
||||||
proxy.port=8080
|
|
||||||
proxy.user=username
|
|
||||||
proxy.password=password
|
|
||||||
|
|
||||||
See Apache Ant documentation for the <setproxy> task for details.
|
|
||||||
|
|
||||||
3. Go to the sources directory and run Ant:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant
|
|
||||||
|
|
||||||
This will execute the "deploy" target in build.xml.
|
|
||||||
|
|
||||||
Once the build has completed successfully, a usable Tomcat installation
|
|
||||||
will have been produced in the ${tomcat.source}/output/build directory,
|
|
||||||
and can be started and stopped with the usual scripts.
|
|
||||||
|
|
||||||
Note that the build includes Tomcat documentation, which can be found
|
|
||||||
in the output/build/webapps/docs directory.
|
|
||||||
|
|
||||||
The path of the output directory can be controlled by specifying the
|
|
||||||
"tomcat.output" property in the build.properties file.
|
|
||||||
|
|
||||||
* NOTE: Do not run the build as the root user. Building and running Tomcat
|
|
||||||
does not require root privileges.
|
|
||||||
|
|
||||||
|
|
||||||
(4) Updating sources and rebuilding
|
|
||||||
|
|
||||||
It is recommended that you regularly update the downloaded Tomcat 8.5
|
|
||||||
sources using your git client.
|
|
||||||
|
|
||||||
For a quick rebuild of only modified code you can use:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant
|
|
||||||
|
|
||||||
|
|
||||||
(5) Special builds
|
|
||||||
|
|
||||||
There are several targets in Tomcat build files that are useful to be
|
|
||||||
called separately. They build components that you may want to build
|
|
||||||
quickly, or ones that are included in the full release and are not built
|
|
||||||
during the default "deploy" build.
|
|
||||||
|
|
||||||
(5.1) Building documentation
|
|
||||||
|
|
||||||
The documentation web application is built during the default "deploy"
|
|
||||||
build.
|
|
||||||
|
|
||||||
It can be built quickly by using the following commands:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant build-docs
|
|
||||||
|
|
||||||
The output of this command will be found in the following directory:
|
|
||||||
|
|
||||||
output/build/webapps/docs
|
|
||||||
|
|
||||||
|
|
||||||
The API documentation (Javadoc) is built during a "release" build. It is
|
|
||||||
easy to build it separately by using the following commands:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant javadoc
|
|
||||||
|
|
||||||
The output of this command will be found in the following directories:
|
|
||||||
|
|
||||||
output/dist/webapps/docs/api
|
|
||||||
output/dist/webapps/docs/elapi
|
|
||||||
output/dist/webapps/docs/jspapi
|
|
||||||
output/dist/webapps/docs/servletapi
|
|
||||||
|
|
||||||
|
|
||||||
(5.2) Building the extras (commons-logging, webservices etc.)
|
|
||||||
|
|
||||||
These components are documented on the "Additional Components"
|
|
||||||
(extras.html) page of documentation. They are built during a "release"
|
|
||||||
build.
|
|
||||||
|
|
||||||
You can build them by using the following commands:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant extras
|
|
||||||
|
|
||||||
(5.3) Building the embedded packages
|
|
||||||
|
|
||||||
These are built during a "release" build.
|
|
||||||
|
|
||||||
You can build them by using the following commands:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant embed
|
|
||||||
|
|
||||||
|
|
||||||
(6) Building a full release (as provided via the ASF download pages)
|
|
||||||
|
|
||||||
A full release includes the Windows installer which requires a Windows
|
|
||||||
environment to be available to create it. If not building in a Windows
|
|
||||||
environment, the build scripts assume that Wine is available. If this is not
|
|
||||||
the case, the skip.installer property may be set to skip the creation of the
|
|
||||||
Windows installer.
|
|
||||||
|
|
||||||
Provided that Wine is available on non-Windows platforms, a full release
|
|
||||||
build may be made on Windows, Linux or MacOS.
|
|
||||||
|
|
||||||
1. Configure GPG, if needed
|
|
||||||
|
|
||||||
If the released artifacts have to be cryptographically signed with a
|
|
||||||
PGP signature, like the official ASF releases are, the following
|
|
||||||
property can be added to the build.properties file:
|
|
||||||
|
|
||||||
# Location of GPG executable (used only for releases)
|
|
||||||
gpg.exec=/path/to/gpg
|
|
||||||
|
|
||||||
You do not need it if you do not plan to sign the release.
|
|
||||||
|
|
||||||
If "gpg.exec" property does not point to an existing file, it will be
|
|
||||||
ignored and this feature will be deactivated.
|
|
||||||
|
|
||||||
You will be prompted for the GPG passphrase when the release build
|
|
||||||
starts, unless "gpg.passphrase" property is set.
|
|
||||||
|
|
||||||
2. If building the Windows installer
|
|
||||||
|
|
||||||
If running the build in a UAC enabled environment, building the Windows
|
|
||||||
installer requires elevated privileges. The simplest way to do this is to
|
|
||||||
open the command prompt used for the build with the "Run as administrator"
|
|
||||||
option.
|
|
||||||
|
|
||||||
3. Configure the code signing service
|
|
||||||
|
|
||||||
ASF committers performing official releases will need to configure the code
|
|
||||||
signing service so that the Windows installer is signed during the build
|
|
||||||
process. The following properties need to be added to the build.properties
|
|
||||||
file:
|
|
||||||
|
|
||||||
# Location of GPG executable (used only for releases)
|
|
||||||
gpg.exec=/path/to/gpg
|
|
||||||
# Code signing of Windows installer
|
|
||||||
do.codesigning=true
|
|
||||||
codesigning.storepass=request-via-pmc
|
|
||||||
|
|
||||||
Release managers will be provided with the necessary credentials by the PMC.
|
|
||||||
|
|
||||||
4. Build the release:
|
|
||||||
|
|
||||||
Apache Tomcat releases are fully reproducible.
|
|
||||||
|
|
||||||
Release managers producing release builds must follow the following
|
|
||||||
procedure:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant pre-release
|
|
||||||
ant release
|
|
||||||
git commit -a -m "Tag <version-number>"
|
|
||||||
git tag <vesion-number>
|
|
||||||
git push origin <version-number>
|
|
||||||
ant release
|
|
||||||
git reset --hard HEAD~1
|
|
||||||
|
|
||||||
The output from either 'ant release' call may be uploaded as the official
|
|
||||||
release since they will be identical. It is recommended that the output from
|
|
||||||
the second call is used.
|
|
||||||
|
|
||||||
Anyone wishing to reproduce an official build must do so from an official
|
|
||||||
source release. The build tool chain defined in build.properties.release
|
|
||||||
must be used to reproduce an official build. Once unpacked to
|
|
||||||
${tomcat.source}, the following steps must be followed
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant release
|
|
||||||
|
|
||||||
Following the same steps without using the defined build tool chain will
|
|
||||||
create a release that is functionally the same as an official release but
|
|
||||||
not bit for bit identical.
|
|
||||||
|
|
||||||
|
|
||||||
(7) Tests
|
|
||||||
|
|
||||||
(7.1) Running Tomcat tests
|
|
||||||
|
|
||||||
Tomcat includes a number of junit tests. The tests are not run when a
|
|
||||||
release is built. There is separate command to run them.
|
|
||||||
|
|
||||||
To run the testsuite use the following command:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant test
|
|
||||||
|
|
||||||
It is advisable to redirect output of the above command to a file for later
|
|
||||||
inspection.
|
|
||||||
|
|
||||||
The JUnit reports generated by the tests will be written to the following
|
|
||||||
directory:
|
|
||||||
|
|
||||||
output/build/logs
|
|
||||||
|
|
||||||
By default the testsuite is run three times to test 3 different
|
|
||||||
implementations of Tomcat connectors: NIO, NIO2 and APR. (If you are not
|
|
||||||
familiar with Tomcat connectors, see config/http.html in documentation for
|
|
||||||
details).
|
|
||||||
|
|
||||||
The 3 runs are activated and deactivated individually by the following
|
|
||||||
properties, which all are "true" by default:
|
|
||||||
|
|
||||||
execute.test.nio=true
|
|
||||||
execute.test.nio2=true
|
|
||||||
execute.test.apr=true
|
|
||||||
|
|
||||||
The APR connector can be tested only if Tomcat-Native library binaries are
|
|
||||||
found by the testsuite. The "test.apr.loc" property specifies the directory
|
|
||||||
where the library binaries are located.
|
|
||||||
|
|
||||||
By default the "test.apr.loc" property specifies the following location:
|
|
||||||
|
|
||||||
output/build/bin/
|
|
||||||
|
|
||||||
If you are on Windows and want to test the APR connector you can put the
|
|
||||||
tcnative-1.dll file into ${tomcat.source}/bin/ and it will be copied
|
|
||||||
into the above directory when the build runs.
|
|
||||||
|
|
||||||
The unit tests include tests of the clustering functionality which require
|
|
||||||
multicast to be enabled. There is a simple application provided in the Tomcat
|
|
||||||
test source (org.apache.catalina.tribes.TesterMulticast) that can be used to
|
|
||||||
check if a machine supports multicast. Notes on enabling multicast for different
|
|
||||||
operating systems are provided in the Javadoc for that class.
|
|
||||||
|
|
||||||
|
|
||||||
(7.2) Running a single test
|
|
||||||
|
|
||||||
It is possible to run a single JUnit test class by adding the "test.entry"
|
|
||||||
property to the build.properties file. The property specifies the name of
|
|
||||||
the test class.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
test.entry=org.apache.catalina.util.TestServerInfo
|
|
||||||
|
|
||||||
It is possible to further limit such run to a number of selected test
|
|
||||||
methods by adding "test.entry.methods" property. The property specifies a
|
|
||||||
comma-separated list of test case methods.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
test.entry=org.apache.el.lang.TestELArithmetic
|
|
||||||
test.entry.methods=testMultiply01,testMultiply02
|
|
||||||
|
|
||||||
|
|
||||||
(7.3) Running a set of tests
|
|
||||||
|
|
||||||
It is possible to run a set of JUnit test classes by adding the "test.name"
|
|
||||||
property to the build.properties file. The property specifies an Ant
|
|
||||||
includes pattern for the fileset of test class files to run.
|
|
||||||
|
|
||||||
The default value is "**/Test*.java", so all test classes are being
|
|
||||||
executed (with few exceptions - see build.xml for several exclude patterns).
|
|
||||||
|
|
||||||
You can include multiple patterns by concatenating them with a comma (",")
|
|
||||||
as the separator.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
test.name=**/TestSsl.java,**/TestWebSocketFrameClientSSL.java
|
|
||||||
|
|
||||||
You can exclude specific JUnit test classes by adding the "test.exclude"
|
|
||||||
property to the build.properties file. The property specifies an Ant
|
|
||||||
excludes pattern for the fileset of test class files to exclude form the run.
|
|
||||||
The default value is empty, so no classes are excluded. The syntax is the same
|
|
||||||
as for the property "test.name".
|
|
||||||
|
|
||||||
|
|
||||||
(7.4) Other configuration options
|
|
||||||
|
|
||||||
1. It is possible to configure the directory where JUnit reports are
|
|
||||||
written to. It is configured by "test.reports" property. The default
|
|
||||||
value is
|
|
||||||
|
|
||||||
output/build/logs
|
|
||||||
|
|
||||||
2. It is possible to enable generation of access log file when the tests
|
|
||||||
are run. This is off by default and can be enabled by the following
|
|
||||||
property:
|
|
||||||
|
|
||||||
test.accesslog=true
|
|
||||||
|
|
||||||
The "access_log.<date>" file will be written to the same directory as
|
|
||||||
JUnit reports,
|
|
||||||
|
|
||||||
output/build/logs
|
|
||||||
|
|
||||||
3. The testsuite respects logging configuration as configured by
|
|
||||||
${tomcat.source}/conf/logging.properties
|
|
||||||
|
|
||||||
The log files will be written to the temporary directory used by the
|
|
||||||
tests,
|
|
||||||
|
|
||||||
output/test-tmp/logs
|
|
||||||
|
|
||||||
4. It is possible to configure formatter used by JUnit reports.
|
|
||||||
Configuration properties are "junit.formatter.type",
|
|
||||||
"junit.formatter.extension" and "junit.formatter.usefile".
|
|
||||||
|
|
||||||
For example the following property deactivates generation of separate report
|
|
||||||
files:
|
|
||||||
|
|
||||||
junit.formatter.usefile=false
|
|
||||||
|
|
||||||
5. It is possible to speed up testing by letting JUnit to run several
|
|
||||||
tests in parallel.
|
|
||||||
|
|
||||||
This is configured by setting "test.threads" property. The recommended
|
|
||||||
value is one thread per core.
|
|
||||||
|
|
||||||
6. Optional support is provided for the Cobertura code coverage tool.
|
|
||||||
|
|
||||||
NOTE: Cobertura is licensed under GPL v2 with parts of it being under
|
|
||||||
Apache License v1.1. See https://cobertura.github.io/cobertura/ for details.
|
|
||||||
Using it during Tomcat build is optional and is off by default.
|
|
||||||
|
|
||||||
Cobertura can be enabled using the following properties:
|
|
||||||
|
|
||||||
test.cobertura=true
|
|
||||||
test.threads=1
|
|
||||||
|
|
||||||
Using Cobertura currently requires setting test.threads configuration
|
|
||||||
property to the value of 1. Setting that property to a different value
|
|
||||||
will deactivate code coverage.
|
|
||||||
|
|
||||||
The report files by default are written to
|
|
||||||
|
|
||||||
output/coverage
|
|
||||||
|
|
||||||
7. The performance tests are written to run reasonably powerful machines (such
|
|
||||||
as a developer may use day to day) assuming no other resource hungry
|
|
||||||
processes are running.
|
|
||||||
|
|
||||||
These assumptions are not always true (e.g. on CI systems running in a
|
|
||||||
virtual machine) so the performance tests may be deactivated by using the
|
|
||||||
following property:
|
|
||||||
|
|
||||||
test.excludePerformance=true
|
|
||||||
|
|
||||||
8. Some tests include checks that the access log valve entries are as expected.
|
|
||||||
These checks include timings. On slower / loaded systems these checks will
|
|
||||||
often fail. The checks may be relaxed by using the following property:
|
|
||||||
|
|
||||||
test.relaxTiming=true
|
|
||||||
|
|
||||||
9. It is known that some platforms (e.g. OSX El Capitan) require IPv4 to
|
|
||||||
be the default for the multicast tests to work. This is configured by
|
|
||||||
the following property:
|
|
||||||
|
|
||||||
java.net.preferIPv4Stack=true
|
|
||||||
|
|
||||||
10. By default the output of unit tests is sent to the console and can be
|
|
||||||
quite verbose. The output can be deactivated by setting the property:
|
|
||||||
|
|
||||||
test.verbose=false
|
|
||||||
|
|
||||||
(8) Source code checks
|
|
||||||
|
|
||||||
(8.1) Checkstyle
|
|
||||||
|
|
||||||
NOTE: Checkstyle is licensed under LGPL. Using Checkstyle during Tomcat
|
|
||||||
build is optional and is off by default.
|
|
||||||
|
|
||||||
See http://checkstyle.sourceforge.net/ for more information.
|
|
||||||
|
|
||||||
Tomcat comes with a Checkstyle configuration that tests its source code
|
|
||||||
for certain conventions, like presence of the license header.
|
|
||||||
|
|
||||||
To enable Checkstyle, add the following property to build.properties file:
|
|
||||||
|
|
||||||
execute.validate=true
|
|
||||||
|
|
||||||
Once Checkstyle is enabled, the check will be performed automatically
|
|
||||||
during the build. The check is run before compilation of the source code.
|
|
||||||
|
|
||||||
To speed-up repeated runs of this check, a cache is configured. The cache
|
|
||||||
is located in the following directory:
|
|
||||||
|
|
||||||
output/res/checkstyle
|
|
||||||
|
|
||||||
It is possible to run the check separately by calling the "validate"
|
|
||||||
target. The command is:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant -Dexecute.validate=true validate
|
|
||||||
|
|
||||||
|
|
||||||
(8.2) SpotBugs
|
|
||||||
|
|
||||||
NOTE: SpotBugs is licensed under LGPL. Using SpotBugs during Tomcat build is
|
|
||||||
optional and is off by default.
|
|
||||||
|
|
||||||
See https://spotbugs.github.io/ for more information.
|
|
||||||
|
|
||||||
To enable SpotBugs, add the following property to build.properties file:
|
|
||||||
|
|
||||||
execute.spotbugs=true
|
|
||||||
|
|
||||||
To compile Tomcat classes and generate a SpotBugs report, call the
|
|
||||||
"spotbugs" target. For example:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant -Dexecute.spotbugs=true spotbugs
|
|
||||||
|
|
||||||
The report file by default is written to
|
|
||||||
|
|
||||||
output/spotbugs
|
|
||||||
|
|
||||||
|
|
||||||
(8.3) End-of-line conventions check
|
|
||||||
|
|
||||||
You usually would not need to run this check. You can skip this section.
|
|
||||||
|
|
||||||
Apache Tomcat project has convention that all of its textual source files,
|
|
||||||
stored in the Git repository, use Unix style LF line endings.
|
|
||||||
|
|
||||||
This test is used by developers to check that the source code adheres to
|
|
||||||
this convention. It verifies that the ends of lines in textual files are
|
|
||||||
appropriate. The idea is to run this check regularly and notify developers
|
|
||||||
when an inconsistency is detected.
|
|
||||||
|
|
||||||
The command to run this test is:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant validate-eoln
|
|
@ -1,165 +0,0 @@
|
|||||||
# Contributing to Apache Tomcat
|
|
||||||
|
|
||||||
Firstly, thanks for your interest in contributing! I hope that this will be a
|
|
||||||
pleasant experience for you, and that you will return to continue
|
|
||||||
contributing.
|
|
||||||
|
|
||||||
Please visit our [Get Involved page](https://tomcat.apache.org/getinvolved.html)
|
|
||||||
for more information on how to contribute.
|
|
||||||
|
|
||||||
## Code of Conduct
|
|
||||||
|
|
||||||
This project and everyone participating in it are governed by the Apache
|
|
||||||
software Foundation's
|
|
||||||
[Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). By
|
|
||||||
participating, you are expected to adhere to this code. If you are aware of
|
|
||||||
unacceptable behavior, please visit the
|
|
||||||
[Reporting Guidelines page](https://www.apache.org/foundation/policies/conduct.html#reporting-guidelines)
|
|
||||||
and follow the instructions there.
|
|
||||||
|
|
||||||
## How Can I Contribute?
|
|
||||||
|
|
||||||
Most of the contributions that we receive are code contributions, but you can
|
|
||||||
also contribute to the documentation, wiki, etc., or simply report solid bugs
|
|
||||||
for us to fix.
|
|
||||||
|
|
||||||
### Reporting Bugs
|
|
||||||
|
|
||||||
Please review our [guide](https://tomcat.apache.org/bugreport.html) on how to
|
|
||||||
submit a bug report. This page also has links to other resources to assist
|
|
||||||
you.
|
|
||||||
|
|
||||||
### Reporting Translation improvements
|
|
||||||
|
|
||||||
Apache Tomcat project uses POEditor for managing the localization files.
|
|
||||||
Please see more at https://cwiki.apache.org/confluence/x/vIPzBQ
|
|
||||||
|
|
||||||
### Your First Code Contribution
|
|
||||||
|
|
||||||
### Trouble Deciding How to Contribute?
|
|
||||||
|
|
||||||
Unsure where to begin contributing to Tomcat? You can start by taking a look at
|
|
||||||
the issues marked 'Beginner', link below. Please note that the Beginner keyword
|
|
||||||
is pretty new to the project, so if there aren't any issues in the filter feel
|
|
||||||
free to ask on the [dev list](https://tomcat.apache.org/lists.html#tomcat-dev).
|
|
||||||
|
|
||||||
* [Beginner issues](https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&keywords=Beginner&keywords_type=allwords&list_id=160824&product=Tomcat%207&product=Tomcat%208.5&product=Tomcat%209&query_format=advanced) -
|
|
||||||
issues which should only require a few lines of code, and a test or two to
|
|
||||||
resolve.
|
|
||||||
|
|
||||||
The list above shows all bugs that are marked 'Beginner' and are open in the
|
|
||||||
currently supported Tomcat versions (7, 8.5, and 9).
|
|
||||||
|
|
||||||
If you prefer C over Java, you may also take a look at the tomcat-native and
|
|
||||||
Tomcat Connectors products in Bugzilla.
|
|
||||||
|
|
||||||
### How to Provide Your First Patch
|
|
||||||
|
|
||||||
Excited yet? This section will guide you through providing a patch to the
|
|
||||||
committers of the project for review and acceptance.
|
|
||||||
|
|
||||||
##### Choose Your Method of Submission
|
|
||||||
|
|
||||||
You can provide a patch in one of the following ways (in order of preference):
|
|
||||||
|
|
||||||
* GitHub Pull Request
|
|
||||||
* Patch attachment to the Bugzilla issue
|
|
||||||
* Email the patch to the developer list. This is not preferred, but if no bug
|
|
||||||
is associated with the patch, or you would like a developer review, an email
|
|
||||||
may be appropriate.
|
|
||||||
|
|
||||||
##### Get the Sources
|
|
||||||
|
|
||||||
Now that you've chosen how you want to submit a patch, you need to get the
|
|
||||||
source code.
|
|
||||||
|
|
||||||
###### Download The Source Distribution
|
|
||||||
|
|
||||||
This method works if you want to submit a patch via email, but
|
|
||||||
the difference in using the sources distribution and a VCS is that you have to
|
|
||||||
manually generate the patch file by using diff. If this is what you want, you
|
|
||||||
can download the sources from the "Source Code Distributions" section of the
|
|
||||||
Download Page. There is one such page for every major Tomcat version:
|
|
||||||
|
|
||||||
- [Tomcat 10](https://tomcat.apache.org/download-10.cgi)
|
|
||||||
- [Tomcat 9](https://tomcat.apache.org/download-90.cgi)
|
|
||||||
- [Tomcat 8](https://tomcat.apache.org/download-80.cgi)
|
|
||||||
- [Tomcat 7](https://tomcat.apache.org/download-70.cgi)
|
|
||||||
|
|
||||||
##### Manual Patch Generation
|
|
||||||
|
|
||||||
If you have chosen to attach a patch to the Bugzilla issue (or email
|
|
||||||
one), then you'll need to download the sources as noted above, make your
|
|
||||||
desired changes and then manually generate your patch using diff (or any
|
|
||||||
other tool).
|
|
||||||
|
|
||||||
##### GitHub
|
|
||||||
|
|
||||||
To submit a GitHub Pull Request you'll need to fork the
|
|
||||||
[repository](https://github.com/apache/tomcat), clone your fork to do the work:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ git clone https://github.com/$USERNAME/tomcat.git
|
|
||||||
```
|
|
||||||
|
|
||||||
and then push your changes, and submit a Pull Request via the GitHub UI.
|
|
||||||
|
|
||||||
#### Submitting Your Patch!
|
|
||||||
|
|
||||||
After you've chosen your method of submission, retrieved the sources, and
|
|
||||||
fixed the issue it's time to submit your work. At this point, just follow
|
|
||||||
the method of submission you chose earlier.
|
|
||||||
|
|
||||||
* GitHub PR - after resolving the issue in your local fork and pushing to your
|
|
||||||
copy of the repository, open a GitHub PR for review.
|
|
||||||
* Bugzilla attachment - attach the patch to the Bugzilla issue
|
|
||||||
* Email - again, not preferred, but you may send an email to the developer list
|
|
||||||
with a patch attached for review.
|
|
||||||
|
|
||||||
#### Waiting For Feedback
|
|
||||||
|
|
||||||
It may take a while for committers to review. Please be patient during this
|
|
||||||
time as all committers are volunteers on the project. If a significant amount
|
|
||||||
of time has lapsed since your submission, such as a couple of months, feel free
|
|
||||||
to either update your BZ, PR, or email the dev list with a message to bump your
|
|
||||||
issue. Sometimes things get lost in all the work and we need a reminder :smile:
|
|
||||||
|
|
||||||
## IDE Support
|
|
||||||
|
|
||||||
Special IDE support for
|
|
||||||
[Eclipse](https://www.eclipse.org/ide/),
|
|
||||||
[IntelliJ IDEA](https://www.jetbrains.com/idea/) and
|
|
||||||
[NetBeans](https://netbeans.org/)
|
|
||||||
is provided through special ant targets:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ant ide-eclipse
|
|
||||||
```
|
|
||||||
```bash
|
|
||||||
ant ide-intellij
|
|
||||||
```
|
|
||||||
```bash
|
|
||||||
ant ide-netbeans
|
|
||||||
```
|
|
||||||
|
|
||||||
Just execute the ant target for your IDE after checking out the sources
|
|
||||||
to set up the appropriate configuration files.
|
|
||||||
Also make sure to re-execute the target after switching branches or
|
|
||||||
after pulling upstream changes in order to keep your IDE configurations in sync.
|
|
||||||
|
|
||||||
## Style Guide
|
|
||||||
|
|
||||||
Apache Tomcat has very loosely defined coding conventions, but the following
|
|
||||||
guidelines will be useful:
|
|
||||||
|
|
||||||
* Use spaces for indenting, not tabs
|
|
||||||
* 100 char line width for Java source, 80 char line width for documentation
|
|
||||||
source (.txt, .xml)
|
|
||||||
* Java source: { at end of line, 4 space indents
|
|
||||||
* XML source: 2 space indents
|
|
||||||
|
|
||||||
## Did we miss something?
|
|
||||||
|
|
||||||
Have you reviewed this guide and found it lacking? Or are you confused about
|
|
||||||
some particular step? If so, please let us know! Or better yet, submit a PR to
|
|
||||||
address the issue :wink:
|
|
File diff suppressed because it is too large
Load Diff
@ -1,51 +0,0 @@
|
|||||||
Apache Tomcat
|
|
||||||
Copyright 1999-2023 The Apache Software Foundation
|
|
||||||
|
|
||||||
This product includes software developed at
|
|
||||||
The Apache Software Foundation (https://www.apache.org/).
|
|
||||||
|
|
||||||
This software contains code derived from netty-native
|
|
||||||
developed by the Netty project
|
|
||||||
(https://netty.io, https://github.com/netty/netty-tcnative/)
|
|
||||||
and from finagle-native developed at Twitter
|
|
||||||
(https://github.com/twitter/finagle).
|
|
||||||
|
|
||||||
The Windows Installer is built with the Nullsoft
|
|
||||||
Scriptable Install System (NSIS), which is
|
|
||||||
open source software. The original software and
|
|
||||||
related information is available at
|
|
||||||
http://nsis.sourceforge.net.
|
|
||||||
|
|
||||||
Java compilation software for JSP pages is provided by the Eclipse
|
|
||||||
JDT Core Batch Compiler component, which is open source software.
|
|
||||||
The original software and related information is available at
|
|
||||||
https://www.eclipse.org/jdt/core/.
|
|
||||||
|
|
||||||
For portions of the Tomcat JNI OpenSSL API and the OpenSSL JSSE integration
|
|
||||||
The org.apache.tomcat.jni and the org.apache.tomcat.net.openssl packages
|
|
||||||
are derivative work originating from the Netty project and the finagle-native
|
|
||||||
project developed at Twitter
|
|
||||||
* Copyright 2014 The Netty Project
|
|
||||||
* Copyright 2014 Twitter
|
|
||||||
|
|
||||||
The original XML Schemas for Java EE Deployment Descriptors:
|
|
||||||
- javaee_5.xsd
|
|
||||||
- javaee_web_services_1_2.xsd
|
|
||||||
- javaee_web_services_client_1_2.xsd
|
|
||||||
- javaee_6.xsd
|
|
||||||
- javaee_web_services_1_3.xsd
|
|
||||||
- javaee_web_services_client_1_3.xsd
|
|
||||||
- jsp_2_2.xsd
|
|
||||||
- web-app_3_0.xsd
|
|
||||||
- web-common_3_0.xsd
|
|
||||||
- web-fragment_3_0.xsd
|
|
||||||
- javaee_7.xsd
|
|
||||||
- javaee_web_services_1_4.xsd
|
|
||||||
- javaee_web_services_client_1_4.xsd
|
|
||||||
- jsp_2_3.xsd
|
|
||||||
- web-app_3_1.xsd
|
|
||||||
- web-common_3_1.xsd
|
|
||||||
- web-fragment_3_1.xsd
|
|
||||||
|
|
||||||
may be obtained from:
|
|
||||||
http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html
|
|
@ -1,81 +0,0 @@
|
|||||||
## Welcome to Apache Tomcat!
|
|
||||||
|
|
||||||
### What Is It?
|
|
||||||
|
|
||||||
The Apache Tomcat® software is an open source implementation of the Java
|
|
||||||
Servlet, JavaServer Pages, Java Expression Language and Java WebSocket
|
|
||||||
technologies. The Java Servlet, JavaServer Pages, Java Expression Language and
|
|
||||||
Java WebSocket specifications are developed under the
|
|
||||||
[Java Community Process](https://jcp.org/en/introduction/overview).
|
|
||||||
|
|
||||||
The Apache Tomcat software is developed in an open and participatory
|
|
||||||
environment and released under the
|
|
||||||
[Apache License version 2](https://www.apache.org/licenses/). The Apache Tomcat
|
|
||||||
project is intended to be a collaboration of the best-of-breed developers from
|
|
||||||
around the world. We invite you to participate in this open development
|
|
||||||
project. To learn more about getting involved,
|
|
||||||
[click here](https://tomcat.apache.org/getinvolved.html) or keep reading.
|
|
||||||
|
|
||||||
Apache Tomcat software powers numerous large-scale, mission-critical web
|
|
||||||
applications across a diverse range of industries and organizations. Some of
|
|
||||||
these users and their stories are listed on the
|
|
||||||
[PoweredBy wiki page](https://cwiki.apache.org/confluence/display/TOMCAT/PoweredBy).
|
|
||||||
|
|
||||||
Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat
|
|
||||||
project logo are trademarks of the Apache Software Foundation.
|
|
||||||
|
|
||||||
### Get It
|
|
||||||
|
|
||||||
For every major Tomcat version there is one download page containing
|
|
||||||
links to the latest binary and source code downloads, but also
|
|
||||||
links for browsing the download directories and archives:
|
|
||||||
- [Tomcat 10](https://tomcat.apache.org/download-10.cgi)
|
|
||||||
- [Tomcat 9](https://tomcat.apache.org/download-90.cgi)
|
|
||||||
- [Tomcat 8](https://tomcat.apache.org/download-80.cgi)
|
|
||||||
- [Tomcat 7](https://tomcat.apache.org/download-70.cgi)
|
|
||||||
|
|
||||||
To facilitate choosing the right major Tomcat version one, we have provided a
|
|
||||||
[version overview page](https://tomcat.apache.org/whichversion.html).
|
|
||||||
|
|
||||||
### Documentation
|
|
||||||
|
|
||||||
The documentation available as of the date of this release is
|
|
||||||
included in the docs webapp which ships with tomcat. You can access that webapp
|
|
||||||
by starting tomcat and visiting <http://localhost:8080/docs/> in your browser.
|
|
||||||
The most up-to-date documentation for each version can be found at:
|
|
||||||
- [Tomcat 10.1](https://tomcat.apache.org/tomcat-10.1-doc/)
|
|
||||||
- [Tomcat 10.0](https://tomcat.apache.org/tomcat-10.0-doc/)
|
|
||||||
- [Tomcat 9](https://tomcat.apache.org/tomcat-9.0-doc/)
|
|
||||||
- [Tomcat 8](https://tomcat.apache.org/tomcat-8.5-doc/)
|
|
||||||
|
|
||||||
### Installation
|
|
||||||
|
|
||||||
Please see [RUNNING.txt](RUNNING.txt) for more info.
|
|
||||||
|
|
||||||
### Licensing
|
|
||||||
|
|
||||||
Please see [LICENSE](LICENSE) for more info.
|
|
||||||
|
|
||||||
### Support and Mailing List Information
|
|
||||||
|
|
||||||
* Free community support is available through the
|
|
||||||
[tomcat-users](https://tomcat.apache.org/lists.html#tomcat-users) email list and
|
|
||||||
a dedicated [IRC channel](https://tomcat.apache.org/irc.html) (#tomcat on
|
|
||||||
Freenode).
|
|
||||||
|
|
||||||
* If you want freely available support for running Apache Tomcat, please see the
|
|
||||||
resources page [here](https://tomcat.apache.org/findhelp.html).
|
|
||||||
|
|
||||||
* If you want to be informed about new code releases, bug fixes,
|
|
||||||
security fixes, general news and information about Apache Tomcat, please
|
|
||||||
subscribe to the
|
|
||||||
[tomcat-announce](https://tomcat.apache.org/lists.html#tomcat-announce) email
|
|
||||||
list.
|
|
||||||
|
|
||||||
* If you have a concrete bug report for Apache Tomcat, please see the
|
|
||||||
instructions for reporting a bug
|
|
||||||
[here](https://tomcat.apache.org/bugreport.html).
|
|
||||||
|
|
||||||
### Contributing
|
|
||||||
|
|
||||||
Please see [CONTRIBUTING](CONTRIBUTING.md) for more info.
|
|
@ -1,178 +0,0 @@
|
|||||||
================================================================================
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
|
|
||||||
Apache Tomcat Version 8.5.88
|
|
||||||
Release Notes
|
|
||||||
|
|
||||||
|
|
||||||
=========
|
|
||||||
CONTENTS:
|
|
||||||
=========
|
|
||||||
|
|
||||||
* Dependency Changes
|
|
||||||
* API Stability
|
|
||||||
* Bundled APIs
|
|
||||||
* Web application reloading and static fields in shared libraries
|
|
||||||
* Security manager URLs
|
|
||||||
* Symlinking static resources
|
|
||||||
* Viewing the Tomcat Change Log
|
|
||||||
* Cryptographic software notice
|
|
||||||
* When all else fails
|
|
||||||
|
|
||||||
|
|
||||||
===================
|
|
||||||
Dependency Changes:
|
|
||||||
===================
|
|
||||||
Tomcat 8.5 is designed to run on Java 7 and later.
|
|
||||||
|
|
||||||
|
|
||||||
==============
|
|
||||||
API Stability:
|
|
||||||
==============
|
|
||||||
|
|
||||||
The public interfaces for the following classes are fixed and will not be
|
|
||||||
changed at all during the remaining lifetime of the 8.x series:
|
|
||||||
- All classes in the javax namespace
|
|
||||||
|
|
||||||
The public interfaces for the following classes may be added to in order to
|
|
||||||
resolve bugs and/or add new features. No existing interface method will be
|
|
||||||
removed or changed although it may be deprecated.
|
|
||||||
- org.apache.catalina.* (excluding sub-packages)
|
|
||||||
|
|
||||||
Note: As Tomcat 8 matures, the above list will be added to. The list is not
|
|
||||||
considered complete at this time.
|
|
||||||
|
|
||||||
Note: A large number of deprecated methods, fields and configuration options
|
|
||||||
were removed in the transition from 8.0.x to 8.5.x. If any of those
|
|
||||||
removals triggers significant problems for the user community that the
|
|
||||||
deletion may be reverted in a later point release.
|
|
||||||
|
|
||||||
The remaining classes are considered part of the Tomcat internals and may change
|
|
||||||
without notice between point releases.
|
|
||||||
|
|
||||||
|
|
||||||
=============
|
|
||||||
Bundled APIs:
|
|
||||||
=============
|
|
||||||
A standard installation of Tomcat 8.5 makes all of the following APIs available
|
|
||||||
for use by web applications (by placing them in "lib"):
|
|
||||||
* annotations-api.jar (Annotations package)
|
|
||||||
* catalina.jar (Tomcat Catalina implementation)
|
|
||||||
* catalina-ant.jar (Tomcat Catalina Ant tasks)
|
|
||||||
* catalina-ha.jar (High availability package)
|
|
||||||
* catalina-storeconfig.jar (Generation of XML configuration from current state)
|
|
||||||
* catalina-tribes.jar (Group communication)
|
|
||||||
* ecj-4.6.3.jar (Eclipse JDT Java compiler)
|
|
||||||
* el-api.jar (EL 3.0 API)
|
|
||||||
* jasper.jar (Jasper 2 Compiler and Runtime)
|
|
||||||
* jasper-el.jar (Jasper 2 EL implementation)
|
|
||||||
* jsp-api.jar (JSP 2.3 API)
|
|
||||||
* servlet-api.jar (Servlet 3.1 API)
|
|
||||||
* tomcat-api.jar (Interfaces shared by Catalina and Jasper)
|
|
||||||
* tomcat-coyote.jar (Tomcat connectors and utility classes)
|
|
||||||
* tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP 2)
|
|
||||||
* tomcat-jdbc.jar (Tomcat's database connection pooling solution)
|
|
||||||
* tomcat-jni.jar (Interface to the native component of the APR/native connector)
|
|
||||||
* tomcat-util.jar (Various utilities)
|
|
||||||
* tomcat-websocket.jar (WebSocket 1.1 implementation)
|
|
||||||
* websocket-api.jar (WebSocket 1.1 API)
|
|
||||||
|
|
||||||
You can make additional APIs available to all of your web applications by
|
|
||||||
putting unpacked classes into a "classes" directory (not created by default),
|
|
||||||
or by placing them in JAR files in the "lib" directory.
|
|
||||||
|
|
||||||
To override the XML parser implementation or interfaces, use the appropriate
|
|
||||||
feature for your JVM. For Java <= 8 use the endorsed standards override
|
|
||||||
feature. The default configuration defines JARs located in "endorsed" as endorsed.
|
|
||||||
For Java 9+ use the upgradeable modules feature.
|
|
||||||
|
|
||||||
|
|
||||||
================================================================
|
|
||||||
Web application reloading and static fields in shared libraries:
|
|
||||||
================================================================
|
|
||||||
Some shared libraries (many are part of the JDK) keep references to objects
|
|
||||||
instantiated by the web application. To avoid class loading related problems
|
|
||||||
(ClassCastExceptions, messages indicating that the classloader
|
|
||||||
is stopped, etc.), the shared libraries state should be reinitialized.
|
|
||||||
|
|
||||||
Something which might help is to avoid putting classes which would be
|
|
||||||
referenced by a shared static field in the web application classloader,
|
|
||||||
and putting them in the shared classloader instead (JARs should be put in the
|
|
||||||
"lib" folder, and classes should be put in the "classes" folder).
|
|
||||||
|
|
||||||
|
|
||||||
======================
|
|
||||||
Security manager URLs:
|
|
||||||
======================
|
|
||||||
In order to grant security permissions to JARs located inside the
|
|
||||||
web application repository, use URLs of the following format
|
|
||||||
in your policy file:
|
|
||||||
|
|
||||||
file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar
|
|
||||||
|
|
||||||
|
|
||||||
============================
|
|
||||||
Symlinking static resources:
|
|
||||||
============================
|
|
||||||
By default, Unix symlinks will not work when used in a web application to link
|
|
||||||
resources located outside the web application root directory.
|
|
||||||
|
|
||||||
This behavior is optional, and the "allowLinking" flag may be used to deactivate
|
|
||||||
the check.
|
|
||||||
|
|
||||||
|
|
||||||
==============================
|
|
||||||
Viewing the Tomcat Change Log:
|
|
||||||
==============================
|
|
||||||
The full change log is available from https://tomcat.apache.org and is also
|
|
||||||
included in the documentation web application.
|
|
||||||
|
|
||||||
|
|
||||||
=============================
|
|
||||||
Cryptographic software notice
|
|
||||||
=============================
|
|
||||||
This distribution includes cryptographic software. The country in
|
|
||||||
which you currently reside may have restrictions on the import,
|
|
||||||
possession, use, and/or re-export to another country, of
|
|
||||||
encryption software. BEFORE using any encryption software, please
|
|
||||||
check your country's laws, regulations and policies concerning the
|
|
||||||
import, possession, or use, and re-export of encryption software, to
|
|
||||||
see if this is permitted. See <http://www.wassenaar.org/> for more
|
|
||||||
information.
|
|
||||||
|
|
||||||
The U.S. Government Department of Commerce, Bureau of Industry and
|
|
||||||
Security (BIS), has classified this software as Export Commodity
|
|
||||||
Control Number (ECCN) 5D002.C.1, which includes information security
|
|
||||||
software using or performing cryptographic functions with asymmetric
|
|
||||||
algorithms. The form and manner of this Apache Software Foundation
|
|
||||||
distribution makes it eligible for export under the License Exception
|
|
||||||
ENC Technology Software Unrestricted (TSU) exception (see the BIS
|
|
||||||
Export Administration Regulations, Section 740.13) for both object
|
|
||||||
code and source code.
|
|
||||||
|
|
||||||
The following provides more details on the included cryptographic
|
|
||||||
software:
|
|
||||||
- Tomcat includes code designed to work with JSSE
|
|
||||||
- Tomcat includes code designed to work with OpenSSL
|
|
||||||
|
|
||||||
|
|
||||||
====================
|
|
||||||
When all else fails:
|
|
||||||
====================
|
|
||||||
See the FAQ
|
|
||||||
https://tomcat.apache.org/faq/
|
|
@ -1,477 +0,0 @@
|
|||||||
================================================================================
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
===================================================
|
|
||||||
Running The Apache Tomcat 8.5 Servlet/JSP Container
|
|
||||||
===================================================
|
|
||||||
|
|
||||||
Apache Tomcat 8.5 requires a Java Standard Edition Runtime
|
|
||||||
Environment (JRE) version 7 or later.
|
|
||||||
|
|
||||||
=============================
|
|
||||||
Running With JRE 7 Or Later
|
|
||||||
=============================
|
|
||||||
|
|
||||||
(1) Download and Install a Java SE Runtime Environment (JRE)
|
|
||||||
|
|
||||||
(1.1) Download a Java SE Runtime Environment (JRE),
|
|
||||||
release version 7 or later, from
|
|
||||||
http://www.oracle.com/technetwork/java/javase/downloads/index.html
|
|
||||||
|
|
||||||
(1.2) Install the JRE according to the instructions included with the
|
|
||||||
release.
|
|
||||||
|
|
||||||
You may also use a full Java Development Kit (JDK) rather than just
|
|
||||||
a JRE.
|
|
||||||
|
|
||||||
|
|
||||||
(2) Download and Install Apache Tomcat
|
|
||||||
|
|
||||||
(2.1) Download a binary distribution of Tomcat from:
|
|
||||||
|
|
||||||
https://tomcat.apache.org/
|
|
||||||
|
|
||||||
(2.2) Unpack the binary distribution so that it resides in its own
|
|
||||||
directory (conventionally named "apache-tomcat-[version]").
|
|
||||||
|
|
||||||
For the purposes of the remainder of this document, the name
|
|
||||||
"CATALINA_HOME" is used to refer to the full pathname of that
|
|
||||||
directory.
|
|
||||||
|
|
||||||
NOTE: As an alternative to downloading a binary distribution, you can
|
|
||||||
create your own from the Tomcat source code, as described in
|
|
||||||
"BUILDING.txt". You can either
|
|
||||||
|
|
||||||
a) Do the full "release" build and find the created distribution in the
|
|
||||||
"output/release" directory and then proceed with unpacking as above, or
|
|
||||||
|
|
||||||
b) Do a simple build and use the "output/build" directory as
|
|
||||||
"CATALINA_HOME". Be warned that there are some differences between the
|
|
||||||
contents of the "output/build" directory and a full "release"
|
|
||||||
distribution.
|
|
||||||
|
|
||||||
|
|
||||||
(3) Configure Environment Variables
|
|
||||||
|
|
||||||
Tomcat is a Java application and does not use environment variables directly.
|
|
||||||
Environment variables are used by the Tomcat startup scripts. The scripts use
|
|
||||||
the environment variables to prepare the command that starts Tomcat.
|
|
||||||
|
|
||||||
(3.1) Set CATALINA_HOME (required) and CATALINA_BASE (optional)
|
|
||||||
|
|
||||||
The CATALINA_HOME environment variable should be set to the location of the
|
|
||||||
root directory of the "binary" distribution of Tomcat.
|
|
||||||
|
|
||||||
The Tomcat startup scripts have some logic to set this variable
|
|
||||||
automatically if it is absent, based on the location of the startup script
|
|
||||||
in *nix and on the current directory in Windows. That logic might not work
|
|
||||||
in all circumstances, so setting the variable explicitly is recommended.
|
|
||||||
|
|
||||||
The CATALINA_BASE environment variable specifies location of the root
|
|
||||||
directory of the "active configuration" of Tomcat. It is optional. It
|
|
||||||
defaults to be equal to CATALINA_HOME.
|
|
||||||
|
|
||||||
Using distinct values for the CATALINA_HOME and CATALINA_BASE variables is
|
|
||||||
recommended to simplify further upgrades and maintenance. It is documented
|
|
||||||
in the "Multiple Tomcat Instances" section below.
|
|
||||||
|
|
||||||
|
|
||||||
(3.2) Set JRE_HOME or JAVA_HOME (required)
|
|
||||||
|
|
||||||
These variables are used to specify location of a Java Runtime
|
|
||||||
Environment or of a Java Development Kit that is used to start Tomcat.
|
|
||||||
|
|
||||||
The JRE_HOME variable is used to specify location of a JRE. The JAVA_HOME
|
|
||||||
variable is used to specify location of a JDK.
|
|
||||||
|
|
||||||
Using JAVA_HOME provides access to certain additional startup options that
|
|
||||||
are not allowed when JRE_HOME is used.
|
|
||||||
|
|
||||||
If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used.
|
|
||||||
|
|
||||||
The recommended place to specify these variables is a "setenv" script. See
|
|
||||||
below.
|
|
||||||
|
|
||||||
|
|
||||||
(3.3) Other variables (optional)
|
|
||||||
|
|
||||||
Other environment variables exist, besides the four described above.
|
|
||||||
See the comments at the top of catalina.bat or catalina.sh scripts for
|
|
||||||
the list and a description of each of them.
|
|
||||||
|
|
||||||
One frequently used variable is CATALINA_OPTS. It allows specification of
|
|
||||||
additional options for the java command that starts Tomcat.
|
|
||||||
|
|
||||||
See the Java documentation for the options that affect the Java Runtime
|
|
||||||
Environment.
|
|
||||||
|
|
||||||
See the "System Properties" page in the Tomcat Configuration Reference for
|
|
||||||
the system properties that are specific to Tomcat.
|
|
||||||
|
|
||||||
A similar variable is JAVA_OPTS. It is used less frequently. It allows
|
|
||||||
specification of options that are used both to start and to stop Tomcat as well
|
|
||||||
as for other commands.
|
|
||||||
|
|
||||||
Note: Do not use JAVA_OPTS to specify memory limits. You do not need much
|
|
||||||
memory for a small process that is used to stop Tomcat. Those settings
|
|
||||||
belong to CATALINA_OPTS.
|
|
||||||
|
|
||||||
Another frequently used variable is CATALINA_PID (on *nix only). It
|
|
||||||
specifies the location of the file where process id of the forked Tomcat
|
|
||||||
java process will be written. This setting is optional. It will activate
|
|
||||||
the following features:
|
|
||||||
|
|
||||||
* better protection against duplicate start attempts and
|
|
||||||
* allows forceful termination of Tomcat process when it does not react to
|
|
||||||
the standard shutdown command.
|
|
||||||
|
|
||||||
|
|
||||||
(3.4) Using the "setenv" script (optional, recommended)
|
|
||||||
|
|
||||||
Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can
|
|
||||||
be specified in the "setenv" script. The script is placed either into
|
|
||||||
CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named
|
|
||||||
setenv.bat (on Windows) or setenv.sh (on *nix). The file has to be
|
|
||||||
readable.
|
|
||||||
|
|
||||||
By default the setenv script file is absent. If the script file is present
|
|
||||||
both in CATALINA_BASE and in CATALINA_HOME, the one in CATALINA_BASE is
|
|
||||||
preferred.
|
|
||||||
|
|
||||||
For example, to configure the JRE_HOME and CATALINA_PID variables you can
|
|
||||||
create the following script file:
|
|
||||||
|
|
||||||
On Windows, %CATALINA_BASE%\bin\setenv.bat:
|
|
||||||
|
|
||||||
set "JRE_HOME=%ProgramFiles%\Java\jre7"
|
|
||||||
exit /b 0
|
|
||||||
|
|
||||||
On *nix, $CATALINA_BASE/bin/setenv.sh:
|
|
||||||
|
|
||||||
JRE_HOME=/usr/java/latest
|
|
||||||
CATALINA_PID="/run/tomcat.pid"
|
|
||||||
|
|
||||||
|
|
||||||
The CATALINA_HOME and CATALINA_BASE variables cannot be configured in the
|
|
||||||
setenv script, because they are used to locate that file.
|
|
||||||
|
|
||||||
All the environment variables described here and the "setenv" script are
|
|
||||||
used only if you use the standard scripts to launch Tomcat. For example, if
|
|
||||||
you have installed Tomcat as a service on Windows, the service wrapper
|
|
||||||
launches Java directly and does not use the script files.
|
|
||||||
|
|
||||||
|
|
||||||
(4) Start Up Tomcat
|
|
||||||
|
|
||||||
(4.1) Tomcat can be started by executing one of the following commands:
|
|
||||||
|
|
||||||
On Windows:
|
|
||||||
|
|
||||||
%CATALINA_HOME%\bin\startup.bat
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
%CATALINA_HOME%\bin\catalina.bat start
|
|
||||||
|
|
||||||
On *nix:
|
|
||||||
|
|
||||||
$CATALINA_HOME/bin/startup.sh
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
$CATALINA_HOME/bin/catalina.sh start
|
|
||||||
|
|
||||||
(4.2) After startup, the default web applications included with Tomcat will be
|
|
||||||
available by visiting:
|
|
||||||
|
|
||||||
http://localhost:8080/
|
|
||||||
|
|
||||||
(4.3) Further information about configuring and running Tomcat can be found in
|
|
||||||
the documentation included here, as well as on the Tomcat web site:
|
|
||||||
|
|
||||||
https://tomcat.apache.org/
|
|
||||||
|
|
||||||
|
|
||||||
(5) Shut Down Tomcat
|
|
||||||
|
|
||||||
(5.1) Tomcat can be shut down by executing one of the following commands:
|
|
||||||
|
|
||||||
On Windows:
|
|
||||||
|
|
||||||
%CATALINA_HOME%\bin\shutdown.bat
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
%CATALINA_HOME%\bin\catalina.bat stop
|
|
||||||
|
|
||||||
On *nix:
|
|
||||||
|
|
||||||
$CATALINA_HOME/bin/shutdown.sh
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
$CATALINA_HOME/bin/catalina.sh stop
|
|
||||||
|
|
||||||
==================================================
|
|
||||||
Advanced Configuration - Multiple Tomcat Instances
|
|
||||||
==================================================
|
|
||||||
|
|
||||||
In many circumstances, it is desirable to have a single copy of a Tomcat
|
|
||||||
binary distribution shared among multiple users on the same server. To make
|
|
||||||
this possible, you can set the CATALINA_BASE environment variable to the
|
|
||||||
directory that contains the files for your 'personal' Tomcat instance.
|
|
||||||
|
|
||||||
When running with a separate CATALINA_HOME and CATALINA_BASE, the files
|
|
||||||
and directories are split as following:
|
|
||||||
|
|
||||||
In CATALINA_BASE:
|
|
||||||
|
|
||||||
* bin - Only the following files:
|
|
||||||
|
|
||||||
* setenv.sh (*nix) or setenv.bat (Windows),
|
|
||||||
* tomcat-juli.jar
|
|
||||||
|
|
||||||
The setenv scripts were described above. The tomcat-juli library
|
|
||||||
is documented in the Logging chapter in the User Guide.
|
|
||||||
|
|
||||||
* conf - Server configuration files (including server.xml)
|
|
||||||
|
|
||||||
* lib - Libraries and classes, as explained below
|
|
||||||
|
|
||||||
* logs - Log and output files
|
|
||||||
|
|
||||||
* webapps - Automatically loaded web applications
|
|
||||||
|
|
||||||
* work - Temporary working directories for web applications
|
|
||||||
|
|
||||||
* temp - Directory used by the JVM for temporary files (java.io.tmpdir)
|
|
||||||
|
|
||||||
|
|
||||||
In CATALINA_HOME:
|
|
||||||
|
|
||||||
* bin - Startup and shutdown scripts
|
|
||||||
|
|
||||||
The following files will be used only if they are absent in
|
|
||||||
CATALINA_BASE/bin:
|
|
||||||
|
|
||||||
setenv.sh (*nix), setenv.bat (Windows), tomcat-juli.jar
|
|
||||||
|
|
||||||
* lib - Libraries and classes, as explained below
|
|
||||||
|
|
||||||
* endorsed - Libraries that override standard "Endorsed Standards"
|
|
||||||
libraries provided by JRE. See Classloading documentation
|
|
||||||
in the User Guide for details.
|
|
||||||
This is only supported for Java <= 8.
|
|
||||||
By default this "endorsed" directory is absent.
|
|
||||||
|
|
||||||
In the default configuration the JAR libraries and classes both in
|
|
||||||
CATALINA_BASE/lib and in CATALINA_HOME/lib will be added to the common
|
|
||||||
classpath, but the ones in CATALINA_BASE will be added first and thus will
|
|
||||||
be searched first.
|
|
||||||
|
|
||||||
The idea is that you may leave the standard Tomcat libraries in
|
|
||||||
CATALINA_HOME/lib and add other ones such as database drivers into
|
|
||||||
CATALINA_BASE/lib.
|
|
||||||
|
|
||||||
In general it is advised to never share libraries between web applications,
|
|
||||||
but put them into WEB-INF/lib directories inside the applications. See
|
|
||||||
Classloading documentation in the User Guide for details.
|
|
||||||
|
|
||||||
|
|
||||||
It might be useful to note that the values of CATALINA_HOME and
|
|
||||||
CATALINA_BASE can be referenced in the XML configuration files processed
|
|
||||||
by Tomcat as ${catalina.home} and ${catalina.base} respectively.
|
|
||||||
|
|
||||||
For example, the standard manager web application can be kept in
|
|
||||||
CATALINA_HOME/webapps/manager and loaded into CATALINA_BASE by copying
|
|
||||||
its deployment descriptor into the desired virtual host:
|
|
||||||
|
|
||||||
* Copy the CATALINA_HOME/webapps/manager/META-INF/context.xml
|
|
||||||
file as CATALINA_BASE/conf/Catalina/localhost/manager.xml
|
|
||||||
|
|
||||||
* Add docBase attribute as shown below.
|
|
||||||
|
|
||||||
The file will look like the following:
|
|
||||||
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Context docBase="${catalina.home}/webapps/manager"
|
|
||||||
antiResourceLocking="false" privileged="true" >
|
|
||||||
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
|
|
||||||
allow="127\.0\.0\.1" />
|
|
||||||
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
|
|
||||||
</Context>
|
|
||||||
|
|
||||||
See Deployer chapter in User Guide and Context and Host chapters in the
|
|
||||||
Configuration Reference for more information on contexts and web
|
|
||||||
application deployment.
|
|
||||||
|
|
||||||
|
|
||||||
================
|
|
||||||
Troubleshooting
|
|
||||||
================
|
|
||||||
|
|
||||||
There are only really 2 things likely to go wrong during the stand-alone
|
|
||||||
Tomcat install:
|
|
||||||
|
|
||||||
(1) The most common hiccup is when another web server (or any process for that
|
|
||||||
matter) has laid claim to port 8080. This is the default HTTP port that
|
|
||||||
Tomcat attempts to bind to at startup. To change this, open the file:
|
|
||||||
|
|
||||||
$CATALINA_HOME/conf/server.xml
|
|
||||||
|
|
||||||
and search for '8080'. Change it to a port that isn't in use, and is
|
|
||||||
greater than 1024, as ports less than or equal to 1024 require superuser
|
|
||||||
access to bind under UNIX.
|
|
||||||
|
|
||||||
Restart Tomcat and you're in business. Be sure that you replace the "8080"
|
|
||||||
in the URL you're using to access Tomcat. For example, if you change the
|
|
||||||
port to 1977, you would request the URL http://localhost:1977/ in your
|
|
||||||
browser.
|
|
||||||
|
|
||||||
(2) The 'localhost' machine isn't found. This could happen if you're behind a
|
|
||||||
proxy. If that's the case, make sure the proxy configuration for your
|
|
||||||
browser knows that you shouldn't be going through the proxy to access the
|
|
||||||
"localhost".
|
|
||||||
|
|
||||||
In Firefox, this is under Tools/Preferences -> Advanced/Network ->
|
|
||||||
Connection -> Settings..., and in Internet Explorer it is Tools ->
|
|
||||||
Internet Options -> Connections -> LAN Settings.
|
|
||||||
|
|
||||||
|
|
||||||
====================
|
|
||||||
Optional Components
|
|
||||||
====================
|
|
||||||
|
|
||||||
The following optional components may be included with the Apache Tomcat binary
|
|
||||||
distribution. If they are not included, you can install them separately.
|
|
||||||
|
|
||||||
1. Apache Tomcat Native library
|
|
||||||
|
|
||||||
2. Apache Commons Daemon service launcher
|
|
||||||
|
|
||||||
Both of them are implemented in C language and as such have to be compiled
|
|
||||||
into binary code. The binary code will be specific for a platform and CPU
|
|
||||||
architecture and it must match the Java Runtime Environment executables
|
|
||||||
that will be used to launch Tomcat.
|
|
||||||
|
|
||||||
The Windows-specific binary distributions of Apache Tomcat include binary
|
|
||||||
files for these components. On other platforms you would have to look for
|
|
||||||
binary versions elsewhere or compile them yourself.
|
|
||||||
|
|
||||||
If you are new to Tomcat, do not bother with these components to start with.
|
|
||||||
If you do use them, do not forget to read their documentation.
|
|
||||||
|
|
||||||
|
|
||||||
Apache Tomcat Native library
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
It is a library that allows to use the "Apr" variant of HTTP and AJP
|
|
||||||
protocol connectors in Apache Tomcat. It is built around OpenSSL and Apache
|
|
||||||
Portable Runtime (APR) libraries. Those are the same libraries as used by
|
|
||||||
Apache HTTPD Server project.
|
|
||||||
|
|
||||||
This feature was especially important in the old days when Java performance
|
|
||||||
was poor. It is less important nowadays, but it is still used and respected
|
|
||||||
by many. See Tomcat documentation for more details.
|
|
||||||
|
|
||||||
For further reading:
|
|
||||||
|
|
||||||
- Apache Tomcat documentation
|
|
||||||
|
|
||||||
* Documentation for APR/Native library in the Tomcat User's Guide
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/apr.html
|
|
||||||
|
|
||||||
* Documentation for the HTTP and AJP protocol connectors in the Tomcat
|
|
||||||
Configuration Reference
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/config/http.html
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/config/ajp.html
|
|
||||||
|
|
||||||
- Apache Tomcat Native project home
|
|
||||||
|
|
||||||
https://tomcat.apache.org/native-doc/
|
|
||||||
|
|
||||||
- Other projects
|
|
||||||
|
|
||||||
* OpenSSL
|
|
||||||
|
|
||||||
https://www.openssl.org/
|
|
||||||
|
|
||||||
* Apache Portable Runtime
|
|
||||||
|
|
||||||
https://apr.apache.org/
|
|
||||||
|
|
||||||
* Apache HTTP Server
|
|
||||||
|
|
||||||
https://httpd.apache.org/
|
|
||||||
|
|
||||||
To deactivate Apache Tomcat Native library:
|
|
||||||
|
|
||||||
- To deactivate Apache Tomcat Native library when it is installed, or
|
|
||||||
- To remove the warning that is logged during Tomcat startup when the
|
|
||||||
library is not installed:
|
|
||||||
|
|
||||||
Edit the "conf/server.xml" file and remove "AprLifecycleListener" from
|
|
||||||
it.
|
|
||||||
|
|
||||||
The binary file of Apache Tomcat Native library is usually named
|
|
||||||
|
|
||||||
- "tcnative-1.dll" on Windows
|
|
||||||
- "libtcnative-1.so" on *nix systems
|
|
||||||
|
|
||||||
|
|
||||||
Apache Commons Daemon
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Apache Commons Daemon project provides wrappers that can be used to
|
|
||||||
install Apache Tomcat as a service on Windows or as a daemon on *nix
|
|
||||||
systems.
|
|
||||||
|
|
||||||
The Windows-specific implementation of Apache Commons Daemon is called
|
|
||||||
"procrun". The *nix-specific one is called "jsvc".
|
|
||||||
|
|
||||||
For further reading:
|
|
||||||
|
|
||||||
- Apache Commons Daemon project
|
|
||||||
|
|
||||||
https://commons.apache.org/daemon/
|
|
||||||
|
|
||||||
- Apache Tomcat documentation
|
|
||||||
|
|
||||||
* Installing Apache Tomcat
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/setup.html
|
|
||||||
|
|
||||||
* Windows Service How-To
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/windows-service-howto.html
|
|
||||||
|
|
||||||
The binary files of Apache Commons Daemon in Apache Tomcat distributions
|
|
||||||
for Windows are named:
|
|
||||||
|
|
||||||
- "tomcat8.exe"
|
|
||||||
- "tomcat8w.exe"
|
|
||||||
|
|
||||||
These files are renamed copies of "prunsrv.exe" and "prunmgr.exe" from
|
|
||||||
Apache Commons Daemon distribution. The file names have a meaning: they are
|
|
||||||
used as the service name to register the service in Windows, as well as the
|
|
||||||
key name to store distinct configuration for this installation of
|
|
||||||
"procrun". If you would like to install several instances of Tomcat 8.5
|
|
||||||
in parallel, you have to further rename those files, using the same naming
|
|
||||||
scheme.
|
|
Binary file not shown.
@ -1,39 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
XML file for importing Catalina ant tasks.
|
|
||||||
<import file="${catalina.home}/bin/catalina-tasks.xml"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<project name="catalina-tasks">
|
|
||||||
<description>Catalina Ant Manager, JMX and JSPC Tasks</description>
|
|
||||||
<!-- set catalina.home if it's not already set -->
|
|
||||||
<dirname property="catalina.home.bin.dir" file="${ant.file.catalina-tasks}"/>
|
|
||||||
<property name="catalina.home" value="${catalina.home.bin.dir}/.."/>
|
|
||||||
<typedef resource="org/apache/catalina/ant/catalina.tasks">
|
|
||||||
<classpath>
|
|
||||||
<fileset file="${catalina.home}/bin/tomcat-juli.jar"/>
|
|
||||||
<fileset dir="${catalina.home}/lib" includes="*.jar"/>
|
|
||||||
</classpath>
|
|
||||||
</typedef>
|
|
||||||
<typedef resource="org/apache/catalina/ant/jmx/jmxaccessor.tasks">
|
|
||||||
<classpath>
|
|
||||||
<fileset file="${catalina.home}/lib/catalina-ant.jar"/>
|
|
||||||
</classpath>
|
|
||||||
</typedef>
|
|
||||||
</project>
|
|
@ -1,389 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Start/Stop Script for the CATALINA Server
|
|
||||||
rem
|
|
||||||
rem For supported commands call "catalina.bat help" or see the usage section
|
|
||||||
rem towards the end of this file.
|
|
||||||
rem
|
|
||||||
rem Environment Variable Prerequisites
|
|
||||||
rem
|
|
||||||
rem Do not set the variables in this script. Instead put them into a script
|
|
||||||
rem setenv.bat in CATALINA_BASE/bin to keep your customizations separate.
|
|
||||||
rem
|
|
||||||
rem WHEN RUNNING TOMCAT AS A WINDOWS SERVICE:
|
|
||||||
rem Note that the environment variables that affect the behavior of this
|
|
||||||
rem script will have no effect at all on Windows Services. As such, any
|
|
||||||
rem local customizations made in a CATALINA_BASE/bin/setenv.bat script
|
|
||||||
rem will also have no effect on Tomcat when launched as a Windows Service.
|
|
||||||
rem The configuration that controls Windows Services is stored in the Windows
|
|
||||||
rem Registry, and is most conveniently maintained using the "tomcat8w.exe"
|
|
||||||
rem maintenance utility.
|
|
||||||
rem
|
|
||||||
rem CATALINA_HOME May point at your Catalina "build" directory.
|
|
||||||
rem
|
|
||||||
rem CATALINA_BASE (Optional) Base directory for resolving dynamic portions
|
|
||||||
rem of a Catalina installation. If not present, resolves to
|
|
||||||
rem the same directory that CATALINA_HOME points to.
|
|
||||||
rem
|
|
||||||
rem CATALINA_OPTS (Optional) Java runtime options used when the "start",
|
|
||||||
rem "run" or "debug" command is executed.
|
|
||||||
rem Include here and not in JAVA_OPTS all options, that should
|
|
||||||
rem only be used by Tomcat itself, not by the stop process,
|
|
||||||
rem the version command etc.
|
|
||||||
rem Examples are heap size, GC logging, JMX ports etc.
|
|
||||||
rem
|
|
||||||
rem CATALINA_TMPDIR (Optional) Directory path location of temporary directory
|
|
||||||
rem the JVM should use (java.io.tmpdir). Defaults to
|
|
||||||
rem %CATALINA_BASE%\temp.
|
|
||||||
rem
|
|
||||||
rem JAVA_HOME Must point at your Java Development Kit installation.
|
|
||||||
rem Required to run the with the "debug" argument.
|
|
||||||
rem
|
|
||||||
rem JRE_HOME Must point at your Java Runtime installation.
|
|
||||||
rem Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
|
|
||||||
rem are both set, JRE_HOME is used.
|
|
||||||
rem
|
|
||||||
rem JAVA_OPTS (Optional) Java runtime options used when any command
|
|
||||||
rem is executed.
|
|
||||||
rem Include here and not in CATALINA_OPTS all options, that
|
|
||||||
rem should be used by Tomcat and also by the stop process,
|
|
||||||
rem the version command etc.
|
|
||||||
rem Most options should go into CATALINA_OPTS.
|
|
||||||
rem
|
|
||||||
rem JAVA_ENDORSED_DIRS (Optional) Lists of of semi-colon separated directories
|
|
||||||
rem containing some jars in order to allow replacement of APIs
|
|
||||||
rem created outside of the JCP (i.e. DOM and SAX from W3C).
|
|
||||||
rem It can also be used to update the XML parser implementation.
|
|
||||||
rem This is only supported for Java <= 8.
|
|
||||||
rem Defaults to $CATALINA_HOME/endorsed.
|
|
||||||
rem
|
|
||||||
rem JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
|
|
||||||
rem command is executed. The default is "dt_socket".
|
|
||||||
rem
|
|
||||||
rem JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
|
|
||||||
rem command is executed. The default is localhost:8000.
|
|
||||||
rem
|
|
||||||
rem JPDA_SUSPEND (Optional) Java runtime options used when the "jpda start"
|
|
||||||
rem command is executed. Specifies whether JVM should suspend
|
|
||||||
rem execution immediately after startup. Default is "n".
|
|
||||||
rem
|
|
||||||
rem JPDA_OPTS (Optional) Java runtime options used when the "jpda start"
|
|
||||||
rem command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
|
|
||||||
rem and JPDA_SUSPEND are ignored. Thus, all required jpda
|
|
||||||
rem options MUST be specified. The default is:
|
|
||||||
rem
|
|
||||||
rem -agentlib:jdwp=transport=%JPDA_TRANSPORT%,
|
|
||||||
rem address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
|
|
||||||
rem
|
|
||||||
rem JSSE_OPTS (Optional) Java runtime options used to control the TLS
|
|
||||||
rem implementation when JSSE is used. Default is:
|
|
||||||
rem "-Djdk.tls.ephemeralDHKeySize=2048"
|
|
||||||
rem
|
|
||||||
rem CATALINA_LOGGING_CONFIG (Optional) Override Tomcat's logging config file
|
|
||||||
rem Example (all one line)
|
|
||||||
rem set CATALINA_LOGGING_CONFIG="-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties"
|
|
||||||
rem
|
|
||||||
rem LOGGING_CONFIG Deprecated
|
|
||||||
rem Use CATALINA_LOGGING_CONFIG
|
|
||||||
rem This is only used if CATALINA_LOGGING_CONFIG is not set
|
|
||||||
rem and LOGGING_CONFIG starts with "-D..."
|
|
||||||
rem
|
|
||||||
rem LOGGING_MANAGER (Optional) Override Tomcat's logging manager
|
|
||||||
rem Example (all one line)
|
|
||||||
rem set LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
|
|
||||||
rem
|
|
||||||
rem TITLE (Optional) Specify the title of Tomcat window. The default
|
|
||||||
rem TITLE is Tomcat if it's not specified.
|
|
||||||
rem Example (all one line)
|
|
||||||
rem set TITLE=Tomcat.Cluster#1.Server#1 [%DATE% %TIME%]
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Suppress Terminate batch job on CTRL+C
|
|
||||||
if not ""%1"" == ""run"" goto mainEntry
|
|
||||||
if "%TEMP%" == "" goto mainEntry
|
|
||||||
if exist "%TEMP%\%~nx0.run" goto mainEntry
|
|
||||||
echo Y>"%TEMP%\%~nx0.run"
|
|
||||||
if not exist "%TEMP%\%~nx0.run" goto mainEntry
|
|
||||||
echo Y>"%TEMP%\%~nx0.Y"
|
|
||||||
call "%~f0" %* <"%TEMP%\%~nx0.Y"
|
|
||||||
rem Use provided errorlevel
|
|
||||||
set RETVAL=%ERRORLEVEL%
|
|
||||||
del /Q "%TEMP%\%~nx0.Y" >NUL 2>&1
|
|
||||||
exit /B %RETVAL%
|
|
||||||
:mainEntry
|
|
||||||
del /Q "%TEMP%\%~nx0.run" >NUL 2>&1
|
|
||||||
|
|
||||||
rem Guess CATALINA_HOME if not defined
|
|
||||||
set "CURRENT_DIR=%cd%"
|
|
||||||
if not "%CATALINA_HOME%" == "" goto gotHome
|
|
||||||
set "CATALINA_HOME=%CURRENT_DIR%"
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
cd ..
|
|
||||||
set "CATALINA_HOME=%cd%"
|
|
||||||
cd "%CURRENT_DIR%"
|
|
||||||
:gotHome
|
|
||||||
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
echo The CATALINA_HOME environment variable is not defined correctly
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okHome
|
|
||||||
|
|
||||||
rem Copy CATALINA_BASE from CATALINA_HOME if not defined
|
|
||||||
if not "%CATALINA_BASE%" == "" goto gotBase
|
|
||||||
set "CATALINA_BASE=%CATALINA_HOME%"
|
|
||||||
:gotBase
|
|
||||||
|
|
||||||
rem Ensure that neither CATALINA_HOME nor CATALINA_BASE contains a semi-colon
|
|
||||||
rem as this is used as the separator in the classpath and Java provides no
|
|
||||||
rem mechanism for escaping if the same character appears in the path. Check this
|
|
||||||
rem by replacing all occurrences of ';' with '' and checking that neither
|
|
||||||
rem CATALINA_HOME nor CATALINA_BASE have changed
|
|
||||||
if "%CATALINA_HOME%" == "%CATALINA_HOME:;=%" goto homeNoSemicolon
|
|
||||||
echo Using CATALINA_HOME: "%CATALINA_HOME%"
|
|
||||||
echo Unable to start as CATALINA_HOME contains a semicolon (;) character
|
|
||||||
goto end
|
|
||||||
:homeNoSemicolon
|
|
||||||
|
|
||||||
if "%CATALINA_BASE%" == "%CATALINA_BASE:;=%" goto baseNoSemicolon
|
|
||||||
echo Using CATALINA_BASE: "%CATALINA_BASE%"
|
|
||||||
echo Unable to start as CATALINA_BASE contains a semicolon (;) character
|
|
||||||
goto end
|
|
||||||
:baseNoSemicolon
|
|
||||||
|
|
||||||
rem Ensure that any user defined CLASSPATH variables are not used on startup,
|
|
||||||
rem but allow them to be specified in setenv.bat, in rare case when it is needed.
|
|
||||||
set CLASSPATH=
|
|
||||||
|
|
||||||
rem Get standard environment variables
|
|
||||||
if not exist "%CATALINA_BASE%\bin\setenv.bat" goto checkSetenvHome
|
|
||||||
call "%CATALINA_BASE%\bin\setenv.bat"
|
|
||||||
goto setenvDone
|
|
||||||
:checkSetenvHome
|
|
||||||
if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
|
|
||||||
:setenvDone
|
|
||||||
|
|
||||||
rem Get standard Java environment variables
|
|
||||||
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
|
|
||||||
echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
|
|
||||||
echo This file is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okSetclasspath
|
|
||||||
call "%CATALINA_HOME%\bin\setclasspath.bat" %1
|
|
||||||
if errorlevel 1 goto end
|
|
||||||
|
|
||||||
rem Add on extra jar file to CLASSPATH
|
|
||||||
rem Note that there are no quotes as we do not want to introduce random
|
|
||||||
rem quotes into the CLASSPATH
|
|
||||||
if "%CLASSPATH%" == "" goto emptyClasspath
|
|
||||||
set "CLASSPATH=%CLASSPATH%;"
|
|
||||||
:emptyClasspath
|
|
||||||
set "CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar"
|
|
||||||
|
|
||||||
if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
|
|
||||||
set "CATALINA_TMPDIR=%CATALINA_BASE%\temp"
|
|
||||||
:gotTmpdir
|
|
||||||
|
|
||||||
rem Add tomcat-juli.jar to classpath
|
|
||||||
rem tomcat-juli.jar can be over-ridden per instance
|
|
||||||
if not exist "%CATALINA_BASE%\bin\tomcat-juli.jar" goto juliClasspathHome
|
|
||||||
set "CLASSPATH=%CLASSPATH%;%CATALINA_BASE%\bin\tomcat-juli.jar"
|
|
||||||
goto juliClasspathDone
|
|
||||||
:juliClasspathHome
|
|
||||||
set "CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\tomcat-juli.jar"
|
|
||||||
:juliClasspathDone
|
|
||||||
|
|
||||||
if not "%JSSE_OPTS%" == "" goto gotJsseOpts
|
|
||||||
set "JSSE_OPTS=-Djdk.tls.ephemeralDHKeySize=2048"
|
|
||||||
:gotJsseOpts
|
|
||||||
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"
|
|
||||||
|
|
||||||
rem Register custom URL handlers
|
|
||||||
rem Do this here so custom URL handles (specifically 'war:...') can be used in the security policy
|
|
||||||
set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
|
|
||||||
|
|
||||||
rem Check for the deprecated LOGGING_CONFIG
|
|
||||||
rem Only use it if CATALINA_LOGGING_CONFIG is not set and LOGGING_CONFIG starts with "-D..."
|
|
||||||
if not "%LOGGING_CONFIG:~0,2%"=="-D" goto noLoggingDeprecation
|
|
||||||
if not "%CATALINA_LOGGING_CONFIG%" == "" goto noLoggingDeprecation
|
|
||||||
set "CATALINA_LOGGING_CONFIG=%LOGGING_CONFIG%"
|
|
||||||
:noLoggingDeprecation
|
|
||||||
|
|
||||||
if not "%CATALINA_LOGGING_CONFIG%" == "" goto noJuliConfig
|
|
||||||
set CATALINA_LOGGING_CONFIG=-Dnop
|
|
||||||
if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig
|
|
||||||
set CATALINA_LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
|
|
||||||
:noJuliConfig
|
|
||||||
|
|
||||||
if not "%LOGGING_MANAGER%" == "" goto noJuliManager
|
|
||||||
set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
|
|
||||||
:noJuliManager
|
|
||||||
|
|
||||||
rem Configure JAVA 9 specific start-up parameters
|
|
||||||
set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.lang=ALL-UNNAMED"
|
|
||||||
set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.io=ALL-UNNAMED"
|
|
||||||
set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util=ALL-UNNAMED"
|
|
||||||
set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
|
|
||||||
set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"
|
|
||||||
|
|
||||||
rem Java 9 no longer supports the java.endorsed.dirs
|
|
||||||
rem system property. Only try to use it if
|
|
||||||
rem JAVA_ENDORSED_DIRS was explicitly set
|
|
||||||
rem or CATALINA_HOME/endorsed exists.
|
|
||||||
set ENDORSED_PROP=ignore.endorsed.dirs
|
|
||||||
if "%JAVA_ENDORSED_DIRS%" == "" goto noEndorsedVar
|
|
||||||
set ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
goto doneEndorsed
|
|
||||||
:noEndorsedVar
|
|
||||||
if not exist "%CATALINA_HOME%\endorsed" goto doneEndorsed
|
|
||||||
set ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
:doneEndorsed
|
|
||||||
|
|
||||||
rem ----- Execute The Requested Command ---------------------------------------
|
|
||||||
|
|
||||||
echo Using CATALINA_BASE: "%CATALINA_BASE%"
|
|
||||||
echo Using CATALINA_HOME: "%CATALINA_HOME%"
|
|
||||||
echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"
|
|
||||||
if ""%1"" == ""debug"" goto use_jdk
|
|
||||||
echo Using JRE_HOME: "%JRE_HOME%"
|
|
||||||
goto java_dir_displayed
|
|
||||||
:use_jdk
|
|
||||||
echo Using JAVA_HOME: "%JAVA_HOME%"
|
|
||||||
:java_dir_displayed
|
|
||||||
echo Using CLASSPATH: "%CLASSPATH%"
|
|
||||||
echo Using CATALINA_OPTS: "%CATALINA_OPTS%"
|
|
||||||
|
|
||||||
set _EXECJAVA=%_RUNJAVA%
|
|
||||||
set MAINCLASS=org.apache.catalina.startup.Bootstrap
|
|
||||||
set ACTION=start
|
|
||||||
set SECURITY_POLICY_FILE=
|
|
||||||
set DEBUG_OPTS=
|
|
||||||
set JPDA=
|
|
||||||
|
|
||||||
if not ""%1"" == ""jpda"" goto noJpda
|
|
||||||
set JPDA=jpda
|
|
||||||
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
|
|
||||||
set JPDA_TRANSPORT=dt_socket
|
|
||||||
:gotJpdaTransport
|
|
||||||
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
|
|
||||||
set JPDA_ADDRESS=localhost:8000
|
|
||||||
:gotJpdaAddress
|
|
||||||
if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
|
|
||||||
set JPDA_SUSPEND=n
|
|
||||||
:gotJpdaSuspend
|
|
||||||
if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
|
|
||||||
set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
|
|
||||||
:gotJpdaOpts
|
|
||||||
shift
|
|
||||||
:noJpda
|
|
||||||
|
|
||||||
if ""%1"" == ""debug"" goto doDebug
|
|
||||||
if ""%1"" == ""run"" goto doRun
|
|
||||||
if ""%1"" == ""start"" goto doStart
|
|
||||||
if ""%1"" == ""stop"" goto doStop
|
|
||||||
if ""%1"" == ""configtest"" goto doConfigTest
|
|
||||||
if ""%1"" == ""version"" goto doVersion
|
|
||||||
|
|
||||||
echo Usage: catalina ( commands ... )
|
|
||||||
echo commands:
|
|
||||||
echo debug Start Catalina in a debugger
|
|
||||||
echo debug -security Debug Catalina with a security manager
|
|
||||||
echo jpda start Start Catalina under JPDA debugger
|
|
||||||
echo run Start Catalina in the current window
|
|
||||||
echo run -security Start in the current window with security manager
|
|
||||||
echo start Start Catalina in a separate window
|
|
||||||
echo start -security Start in a separate window with security manager
|
|
||||||
echo stop Stop Catalina
|
|
||||||
echo configtest Run a basic syntax check on server.xml
|
|
||||||
echo version What version of tomcat are you running?
|
|
||||||
goto end
|
|
||||||
|
|
||||||
:doDebug
|
|
||||||
shift
|
|
||||||
set _EXECJAVA=%_RUNJDB%
|
|
||||||
set DEBUG_OPTS=-sourcepath "%CATALINA_HOME%\..\..\java"
|
|
||||||
if not ""%1"" == ""-security"" goto execCmd
|
|
||||||
shift
|
|
||||||
echo Using Security Manager
|
|
||||||
set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
|
|
||||||
goto execCmd
|
|
||||||
|
|
||||||
:doRun
|
|
||||||
shift
|
|
||||||
if not ""%1"" == ""-security"" goto execCmd
|
|
||||||
shift
|
|
||||||
echo Using Security Manager
|
|
||||||
set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
|
|
||||||
goto execCmd
|
|
||||||
|
|
||||||
:doStart
|
|
||||||
shift
|
|
||||||
if "%TITLE%" == "" set TITLE=Tomcat
|
|
||||||
set _EXECJAVA=start "%TITLE%" %_RUNJAVA%
|
|
||||||
if not ""%1"" == ""-security"" goto execCmd
|
|
||||||
shift
|
|
||||||
echo Using Security Manager
|
|
||||||
set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
|
|
||||||
goto execCmd
|
|
||||||
|
|
||||||
:doStop
|
|
||||||
shift
|
|
||||||
set ACTION=stop
|
|
||||||
set CATALINA_OPTS=
|
|
||||||
goto execCmd
|
|
||||||
|
|
||||||
:doConfigTest
|
|
||||||
shift
|
|
||||||
set ACTION=configtest
|
|
||||||
set CATALINA_OPTS=
|
|
||||||
goto execCmd
|
|
||||||
|
|
||||||
:doVersion
|
|
||||||
%_EXECJAVA% %JAVA_OPTS% -classpath "%CATALINA_HOME%\lib\catalina.jar" org.apache.catalina.util.ServerInfo
|
|
||||||
goto end
|
|
||||||
|
|
||||||
|
|
||||||
:execCmd
|
|
||||||
rem Get remaining unshifted command line arguments and save them in the
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
:setArgs
|
|
||||||
if ""%1""=="""" goto doneSetArgs
|
|
||||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
|
||||||
shift
|
|
||||||
goto setArgs
|
|
||||||
:doneSetArgs
|
|
||||||
|
|
||||||
rem Execute Java with the applicable properties
|
|
||||||
if not "%JPDA%" == "" goto doJpda
|
|
||||||
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
|
|
||||||
%_EXECJAVA% %CATALINA_LOGGING_CONFIG% %LOGGING_MANAGER% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -D%ENDORSED_PROP%="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
|
|
||||||
goto end
|
|
||||||
:doSecurity
|
|
||||||
%_EXECJAVA% %CATALINA_LOGGING_CONFIG% %LOGGING_MANAGER% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -D%ENDORSED_PROP%="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
|
|
||||||
goto end
|
|
||||||
:doJpda
|
|
||||||
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
|
|
||||||
%_EXECJAVA% %CATALINA_LOGGING_CONFIG% %LOGGING_MANAGER% %JAVA_OPTS% %JPDA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -D%ENDORSED_PROP%="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
|
|
||||||
goto end
|
|
||||||
:doSecurityJpda
|
|
||||||
%_EXECJAVA% %CATALINA_LOGGING_CONFIG% %LOGGING_MANAGER% %JAVA_OPTS% %JPDA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -D%ENDORSED_PROP%="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
|
|
||||||
goto end
|
|
||||||
|
|
||||||
:end
|
|
@ -1,688 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Control Script for the CATALINA Server
|
|
||||||
#
|
|
||||||
# For supported commands call "catalina.sh help" or see the usage section at
|
|
||||||
# the end of this file.
|
|
||||||
#
|
|
||||||
# Environment Variable Prerequisites
|
|
||||||
#
|
|
||||||
# Do not set the variables in this script. Instead put them into a script
|
|
||||||
# setenv.sh in CATALINA_BASE/bin to keep your customizations separate.
|
|
||||||
#
|
|
||||||
# CATALINA_HOME May point at your Catalina "build" directory.
|
|
||||||
#
|
|
||||||
# CATALINA_BASE (Optional) Base directory for resolving dynamic portions
|
|
||||||
# of a Catalina installation. If not present, resolves to
|
|
||||||
# the same directory that CATALINA_HOME points to.
|
|
||||||
#
|
|
||||||
# CATALINA_OUT (Optional) Full path to a file where stdout and stderr
|
|
||||||
# will be redirected.
|
|
||||||
# Default is $CATALINA_BASE/logs/catalina.out
|
|
||||||
#
|
|
||||||
# CATALINA_OUT_CMD (Optional) Command which will be executed and receive
|
|
||||||
# as its stdin the stdout and stderr from the Tomcat java
|
|
||||||
# process. If CATALINA_OUT_CMD is set, the value of
|
|
||||||
# CATALINA_OUT will be used as a named pipe.
|
|
||||||
# No default.
|
|
||||||
# Example (all one line)
|
|
||||||
# CATALINA_OUT_CMD="/usr/bin/rotatelogs -f $CATALINA_BASE/logs/catalina.out.%Y-%m-%d.log 86400"
|
|
||||||
#
|
|
||||||
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
|
|
||||||
# "run" or "debug" command is executed.
|
|
||||||
# Include here and not in JAVA_OPTS all options, that should
|
|
||||||
# only be used by Tomcat itself, not by the stop process,
|
|
||||||
# the version command etc.
|
|
||||||
# Examples are heap size, GC logging, JMX ports etc.
|
|
||||||
#
|
|
||||||
# CATALINA_TMPDIR (Optional) Directory path location of temporary directory
|
|
||||||
# the JVM should use (java.io.tmpdir). Defaults to
|
|
||||||
# $CATALINA_BASE/temp.
|
|
||||||
#
|
|
||||||
# JAVA_HOME Must point at your Java Development Kit installation.
|
|
||||||
# Required to run the with the "debug" argument.
|
|
||||||
#
|
|
||||||
# JRE_HOME Must point at your Java Runtime installation.
|
|
||||||
# Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
|
|
||||||
# are both set, JRE_HOME is used.
|
|
||||||
#
|
|
||||||
# JAVA_OPTS (Optional) Java runtime options used when any command
|
|
||||||
# is executed.
|
|
||||||
# Include here and not in CATALINA_OPTS all options, that
|
|
||||||
# should be used by Tomcat and also by the stop process,
|
|
||||||
# the version command etc.
|
|
||||||
# Most options should go into CATALINA_OPTS.
|
|
||||||
#
|
|
||||||
# JAVA_ENDORSED_DIRS (Optional) Lists of of colon separated directories
|
|
||||||
# containing some jars in order to allow replacement of APIs
|
|
||||||
# created outside of the JCP (i.e. DOM and SAX from W3C).
|
|
||||||
# It can also be used to update the XML parser implementation.
|
|
||||||
# This is only supported for Java <= 8.
|
|
||||||
# Defaults to $CATALINA_HOME/endorsed.
|
|
||||||
#
|
|
||||||
# JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
|
|
||||||
# command is executed. The default is "dt_socket".
|
|
||||||
#
|
|
||||||
# JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
|
|
||||||
# command is executed. The default is localhost:8000.
|
|
||||||
#
|
|
||||||
# JPDA_SUSPEND (Optional) Java runtime options used when the "jpda start"
|
|
||||||
# command is executed. Specifies whether JVM should suspend
|
|
||||||
# execution immediately after startup. Default is "n".
|
|
||||||
#
|
|
||||||
# JPDA_OPTS (Optional) Java runtime options used when the "jpda start"
|
|
||||||
# command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
|
|
||||||
# and JPDA_SUSPEND are ignored. Thus, all required jpda
|
|
||||||
# options MUST be specified. The default is:
|
|
||||||
#
|
|
||||||
# -agentlib:jdwp=transport=$JPDA_TRANSPORT,
|
|
||||||
# address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND
|
|
||||||
#
|
|
||||||
# JSSE_OPTS (Optional) Java runtime options used to control the TLS
|
|
||||||
# implementation when JSSE is used. Default is:
|
|
||||||
# "-Djdk.tls.ephemeralDHKeySize=2048"
|
|
||||||
#
|
|
||||||
# CATALINA_PID (Optional) Path of the file which should contains the pid
|
|
||||||
# of the catalina startup java process, when start (fork) is
|
|
||||||
# used
|
|
||||||
#
|
|
||||||
# CATALINA_LOGGING_CONFIG (Optional) Override Tomcat's logging config file
|
|
||||||
# Example (all one line)
|
|
||||||
# CATALINA_LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
|
|
||||||
#
|
|
||||||
# LOGGING_CONFIG Deprecated
|
|
||||||
# Use CATALINA_LOGGING_CONFIG
|
|
||||||
# This is only used if CATALINA_LOGGING_CONFIG is not set
|
|
||||||
# and LOGGING_CONFIG starts with "-D..."
|
|
||||||
#
|
|
||||||
# LOGGING_MANAGER (Optional) Override Tomcat's logging manager
|
|
||||||
# Example (all one line)
|
|
||||||
# LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
|
|
||||||
#
|
|
||||||
# UMASK (Optional) Override Tomcat's default UMASK of 0027
|
|
||||||
#
|
|
||||||
# USE_NOHUP (Optional) If set to the string true the start command will
|
|
||||||
# use nohup so that the Tomcat process will ignore any hangup
|
|
||||||
# signals. Default is "false" unless running on HP-UX in which
|
|
||||||
# case the default is "true"
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# OS specific support. $var _must_ be set to either true or false.
|
|
||||||
cygwin=false
|
|
||||||
darwin=false
|
|
||||||
os400=false
|
|
||||||
hpux=false
|
|
||||||
case "`uname`" in
|
|
||||||
CYGWIN*) cygwin=true;;
|
|
||||||
Darwin*) darwin=true;;
|
|
||||||
OS400*) os400=true;;
|
|
||||||
HP-UX*) hpux=true;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ]; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Get standard environment variables
|
|
||||||
PRGDIR=`dirname "$PRG"`
|
|
||||||
|
|
||||||
# Only set CATALINA_HOME if not already set
|
|
||||||
[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
|
|
||||||
|
|
||||||
# Copy CATALINA_BASE from CATALINA_HOME if not already set
|
|
||||||
[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
|
|
||||||
|
|
||||||
# Ensure that any user defined CLASSPATH variables are not used on startup,
|
|
||||||
# but allow them to be specified in setenv.sh, in rare case when it is needed.
|
|
||||||
CLASSPATH=
|
|
||||||
|
|
||||||
if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
|
|
||||||
. "$CATALINA_BASE/bin/setenv.sh"
|
|
||||||
elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
|
|
||||||
. "$CATALINA_HOME/bin/setenv.sh"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
|
||||||
if $cygwin; then
|
|
||||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
|
||||||
[ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
|
|
||||||
[ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
|
|
||||||
[ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`
|
|
||||||
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Ensure that neither CATALINA_HOME nor CATALINA_BASE contains a colon
|
|
||||||
# as this is used as the separator in the classpath and Java provides no
|
|
||||||
# mechanism for escaping if the same character appears in the path.
|
|
||||||
case $CATALINA_HOME in
|
|
||||||
*:*) echo "Using CATALINA_HOME: $CATALINA_HOME";
|
|
||||||
echo "Unable to start as CATALINA_HOME contains a colon (:) character";
|
|
||||||
exit 1;
|
|
||||||
esac
|
|
||||||
case $CATALINA_BASE in
|
|
||||||
*:*) echo "Using CATALINA_BASE: $CATALINA_BASE";
|
|
||||||
echo "Unable to start as CATALINA_BASE contains a colon (:) character";
|
|
||||||
exit 1;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# For OS400
|
|
||||||
if $os400; then
|
|
||||||
# Set job priority to standard for interactive (interactive - 6) by using
|
|
||||||
# the interactive priority - 6, the helper threads that respond to requests
|
|
||||||
# will be running at the same priority as interactive jobs.
|
|
||||||
COMMAND='chgjob job('$JOBNAME') runpty(6)'
|
|
||||||
system $COMMAND
|
|
||||||
|
|
||||||
# Enable multi threading
|
|
||||||
export QIBM_MULTI_THREADED=Y
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get standard Java environment variables
|
|
||||||
if $os400; then
|
|
||||||
# -r will Only work on the os400 if the files are:
|
|
||||||
# 1. owned by the user
|
|
||||||
# 2. owned by the PRIMARY group of the user
|
|
||||||
# this will not work if the user belongs in secondary groups
|
|
||||||
. "$CATALINA_HOME"/bin/setclasspath.sh
|
|
||||||
else
|
|
||||||
if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
|
|
||||||
. "$CATALINA_HOME"/bin/setclasspath.sh
|
|
||||||
else
|
|
||||||
echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
|
|
||||||
echo "This file is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add on extra jar files to CLASSPATH
|
|
||||||
if [ ! -z "$CLASSPATH" ] ; then
|
|
||||||
CLASSPATH="$CLASSPATH":
|
|
||||||
fi
|
|
||||||
CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar
|
|
||||||
|
|
||||||
if [ -z "$CATALINA_OUT" ] ; then
|
|
||||||
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$CATALINA_TMPDIR" ] ; then
|
|
||||||
# Define the java.io.tmpdir to use for Catalina
|
|
||||||
CATALINA_TMPDIR="$CATALINA_BASE"/temp
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add tomcat-juli.jar to classpath
|
|
||||||
# tomcat-juli.jar can be over-ridden per instance
|
|
||||||
if [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then
|
|
||||||
CLASSPATH=$CLASSPATH:$CATALINA_BASE/bin/tomcat-juli.jar
|
|
||||||
else
|
|
||||||
CLASSPATH=$CLASSPATH:$CATALINA_HOME/bin/tomcat-juli.jar
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Bugzilla 37848: When no TTY is available, don't output to console
|
|
||||||
have_tty=0
|
|
||||||
if [ -t 0 ]; then
|
|
||||||
have_tty=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# For Cygwin, switch paths to Windows format before running java
|
|
||||||
if $cygwin; then
|
|
||||||
JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
|
|
||||||
JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
|
|
||||||
CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
|
|
||||||
CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
|
|
||||||
CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
|
|
||||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
|
||||||
[ -n "$JAVA_ENDORSED_DIRS" ] && JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$JSSE_OPTS" ] ; then
|
|
||||||
JSSE_OPTS="-Djdk.tls.ephemeralDHKeySize=2048"
|
|
||||||
fi
|
|
||||||
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS"
|
|
||||||
|
|
||||||
# Register custom URL handlers
|
|
||||||
# Do this here so custom URL handles (specifically 'war:...') can be used in the security policy
|
|
||||||
JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
|
|
||||||
|
|
||||||
# Check for the deprecated LOGGING_CONFIG
|
|
||||||
# Only use it if CATALINA_LOGGING_CONFIG is not set and LOGGING_CONFIG starts with "-D..."
|
|
||||||
if [ -z "$CATALINA_LOGGING_CONFIG" ]; then
|
|
||||||
case $LOGGING_CONFIG in
|
|
||||||
-D*) CATALINA_LOGGING_CONFIG="$LOGGING_CONFIG"
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set juli LogManager config file if it is present and an override has not been issued
|
|
||||||
if [ -z "$CATALINA_LOGGING_CONFIG" ]; then
|
|
||||||
if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then
|
|
||||||
CATALINA_LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
|
|
||||||
else
|
|
||||||
# Bugzilla 45585
|
|
||||||
CATALINA_LOGGING_CONFIG="-Dnop"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$LOGGING_MANAGER" ]; then
|
|
||||||
LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set UMASK unless it has been overridden
|
|
||||||
if [ -z "$UMASK" ]; then
|
|
||||||
UMASK="0027"
|
|
||||||
fi
|
|
||||||
umask $UMASK
|
|
||||||
|
|
||||||
# Java 9 no longer supports the java.endorsed.dirs
|
|
||||||
# system property. Only try to use it if
|
|
||||||
# JAVA_ENDORSED_DIRS was explicitly set
|
|
||||||
# or CATALINA_HOME/endorsed exists.
|
|
||||||
ENDORSED_PROP=ignore.endorsed.dirs
|
|
||||||
if [ -n "$JAVA_ENDORSED_DIRS" ]; then
|
|
||||||
ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
fi
|
|
||||||
if [ -d "$CATALINA_HOME/endorsed" ]; then
|
|
||||||
ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make the umask available when using the org.apache.catalina.security.SecurityListener
|
|
||||||
JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"
|
|
||||||
|
|
||||||
if [ -z "$USE_NOHUP" ]; then
|
|
||||||
if $hpux; then
|
|
||||||
USE_NOHUP="true"
|
|
||||||
else
|
|
||||||
USE_NOHUP="false"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
unset _NOHUP
|
|
||||||
if [ "$USE_NOHUP" = "true" ]; then
|
|
||||||
_NOHUP="nohup"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add the JAVA 9 specific start-up parameters required by Tomcat
|
|
||||||
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.lang=ALL-UNNAMED"
|
|
||||||
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.io=ALL-UNNAMED"
|
|
||||||
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.util=ALL-UNNAMED"
|
|
||||||
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
|
|
||||||
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"
|
|
||||||
export JDK_JAVA_OPTIONS
|
|
||||||
|
|
||||||
# ----- Execute The Requested Command -----------------------------------------
|
|
||||||
|
|
||||||
# Bugzilla 37848: only output this if we have a TTY
|
|
||||||
if [ $have_tty -eq 1 ]; then
|
|
||||||
echo "Using CATALINA_BASE: $CATALINA_BASE"
|
|
||||||
echo "Using CATALINA_HOME: $CATALINA_HOME"
|
|
||||||
echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
|
|
||||||
if [ "$1" = "debug" ] ; then
|
|
||||||
echo "Using JAVA_HOME: $JAVA_HOME"
|
|
||||||
else
|
|
||||||
echo "Using JRE_HOME: $JRE_HOME"
|
|
||||||
fi
|
|
||||||
echo "Using CLASSPATH: $CLASSPATH"
|
|
||||||
echo "Using CATALINA_OPTS: $CATALINA_OPTS"
|
|
||||||
if [ ! -z "$CATALINA_PID" ]; then
|
|
||||||
echo "Using CATALINA_PID: $CATALINA_PID"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "jpda" ] ; then
|
|
||||||
if [ -z "$JPDA_TRANSPORT" ]; then
|
|
||||||
JPDA_TRANSPORT="dt_socket"
|
|
||||||
fi
|
|
||||||
if [ -z "$JPDA_ADDRESS" ]; then
|
|
||||||
JPDA_ADDRESS="localhost:8000"
|
|
||||||
fi
|
|
||||||
if [ -z "$JPDA_SUSPEND" ]; then
|
|
||||||
JPDA_SUSPEND="n"
|
|
||||||
fi
|
|
||||||
if [ -z "$JPDA_OPTS" ]; then
|
|
||||||
JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
|
|
||||||
fi
|
|
||||||
CATALINA_OPTS="$JPDA_OPTS $CATALINA_OPTS"
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "debug" ] ; then
|
|
||||||
if $os400; then
|
|
||||||
echo "Debug command not available on OS400"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
shift
|
|
||||||
if [ "$1" = "-security" ] ; then
|
|
||||||
if [ $have_tty -eq 1 ]; then
|
|
||||||
echo "Using Security Manager"
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
eval exec "\"$_RUNJDB\"" "\"$CATALINA_LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="$JAVA_ENDORSED_DIRS" \
|
|
||||||
-classpath "$CLASSPATH" \
|
|
||||||
-sourcepath "$CATALINA_HOME"/../../java \
|
|
||||||
-Djava.security.manager \
|
|
||||||
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
|
|
||||||
-Dcatalina.base="$CATALINA_BASE" \
|
|
||||||
-Dcatalina.home="$CATALINA_HOME" \
|
|
||||||
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
|
||||||
org.apache.catalina.startup.Bootstrap "$@" start
|
|
||||||
else
|
|
||||||
eval exec "\"$_RUNJDB\"" "\"$CATALINA_LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="$JAVA_ENDORSED_DIRS" \
|
|
||||||
-classpath "$CLASSPATH" \
|
|
||||||
-sourcepath "$CATALINA_HOME"/../../java \
|
|
||||||
-Dcatalina.base="$CATALINA_BASE" \
|
|
||||||
-Dcatalina.home="$CATALINA_HOME" \
|
|
||||||
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
|
|
||||||
org.apache.catalina.startup.Bootstrap "$@" start
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [ "$1" = "run" ]; then
|
|
||||||
|
|
||||||
shift
|
|
||||||
if [ "$1" = "-security" ] ; then
|
|
||||||
if [ $have_tty -eq 1 ]; then
|
|
||||||
echo "Using Security Manager"
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
eval exec "\"$_RUNJAVA\"" "\"$CATALINA_LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
-Djava.security.manager \
|
|
||||||
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
|
|
||||||
org.apache.catalina.startup.Bootstrap "$@" start
|
|
||||||
else
|
|
||||||
eval exec "\"$_RUNJAVA\"" "\"$CATALINA_LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
|
|
||||||
org.apache.catalina.startup.Bootstrap "$@" start
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [ "$1" = "start" ] ; then
|
|
||||||
|
|
||||||
if [ ! -z "$CATALINA_PID" ]; then
|
|
||||||
if [ -f "$CATALINA_PID" ]; then
|
|
||||||
if [ -s "$CATALINA_PID" ]; then
|
|
||||||
echo "Existing PID file found during start."
|
|
||||||
if [ -r "$CATALINA_PID" ]; then
|
|
||||||
PID=`cat "$CATALINA_PID"`
|
|
||||||
ps -p $PID >/dev/null 2>&1
|
|
||||||
if [ $? -eq 0 ] ; then
|
|
||||||
echo "Tomcat appears to still be running with PID $PID. Start aborted."
|
|
||||||
echo "If the following process is not a Tomcat process, remove the PID file and try again:"
|
|
||||||
ps -f -p $PID
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "Removing/clearing stale PID file."
|
|
||||||
rm -f "$CATALINA_PID" >/dev/null 2>&1
|
|
||||||
if [ $? != 0 ]; then
|
|
||||||
if [ -w "$CATALINA_PID" ]; then
|
|
||||||
cat /dev/null > "$CATALINA_PID"
|
|
||||||
else
|
|
||||||
echo "Unable to remove or clear stale PID file. Start aborted."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Unable to read PID file. Start aborted."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
rm -f "$CATALINA_PID" >/dev/null 2>&1
|
|
||||||
if [ $? != 0 ]; then
|
|
||||||
if [ ! -w "$CATALINA_PID" ]; then
|
|
||||||
echo "Unable to remove or write to empty PID file. Start aborted."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
shift
|
|
||||||
if [ -z "$CATALINA_OUT_CMD" ] ; then
|
|
||||||
touch "$CATALINA_OUT"
|
|
||||||
else
|
|
||||||
if [ ! -e "$CATALINA_OUT" ]; then
|
|
||||||
if ! mkfifo "$CATALINA_OUT"; then
|
|
||||||
echo "cannot create named pipe $CATALINA_OUT. Start aborted."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
elif [ ! -p "$CATALINA_OUT" ]; then
|
|
||||||
echo "$CATALINA_OUT exists and is not a named pipe. Start aborted."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
$CATALINA_OUT_CMD <"$CATALINA_OUT" &
|
|
||||||
fi
|
|
||||||
if [ "$1" = "-security" ] ; then
|
|
||||||
if [ $have_tty -eq 1 ]; then
|
|
||||||
echo "Using Security Manager"
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
eval $_NOHUP "\"$_RUNJAVA\"" "\"$CATALINA_LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
-Djava.security.manager \
|
|
||||||
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
|
|
||||||
org.apache.catalina.startup.Bootstrap "$@" start \
|
|
||||||
>> "$CATALINA_OUT" 2>&1 "&"
|
|
||||||
|
|
||||||
else
|
|
||||||
eval $_NOHUP "\"$_RUNJAVA\"" "\"$CATALINA_LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
|
|
||||||
org.apache.catalina.startup.Bootstrap "$@" start \
|
|
||||||
>> "$CATALINA_OUT" 2>&1 "&"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -z "$CATALINA_PID" ]; then
|
|
||||||
echo $! > "$CATALINA_PID"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Tomcat started."
|
|
||||||
|
|
||||||
elif [ "$1" = "stop" ] ; then
|
|
||||||
|
|
||||||
shift
|
|
||||||
|
|
||||||
SLEEP=5
|
|
||||||
if [ ! -z "$1" ]; then
|
|
||||||
echo $1 | grep "[^0-9]" >/dev/null 2>&1
|
|
||||||
if [ $? -gt 0 ]; then
|
|
||||||
SLEEP=$1
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
FORCE=0
|
|
||||||
if [ "$1" = "-force" ]; then
|
|
||||||
shift
|
|
||||||
FORCE=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -z "$CATALINA_PID" ]; then
|
|
||||||
if [ -f "$CATALINA_PID" ]; then
|
|
||||||
if [ -s "$CATALINA_PID" ]; then
|
|
||||||
kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1
|
|
||||||
if [ $? -gt 0 ]; then
|
|
||||||
echo "PID file found but either no matching process was found or the current user does not have permission to stop the process. Stop aborted."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "PID file is empty and has been ignored."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "\$CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
eval "\"$_RUNJAVA\"" $LOGGING_MANAGER "$JAVA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
|
|
||||||
org.apache.catalina.startup.Bootstrap "$@" stop
|
|
||||||
|
|
||||||
# stop failed. Shutdown port disabled? Try a normal kill.
|
|
||||||
if [ $? != 0 ]; then
|
|
||||||
if [ ! -z "$CATALINA_PID" ]; then
|
|
||||||
echo "The stop command failed. Attempting to signal the process to stop through OS signal."
|
|
||||||
kill -15 `cat "$CATALINA_PID"` >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -z "$CATALINA_PID" ]; then
|
|
||||||
if [ -f "$CATALINA_PID" ]; then
|
|
||||||
while [ $SLEEP -ge 0 ]; do
|
|
||||||
kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1
|
|
||||||
if [ $? -gt 0 ]; then
|
|
||||||
rm -f "$CATALINA_PID" >/dev/null 2>&1
|
|
||||||
if [ $? != 0 ]; then
|
|
||||||
if [ -w "$CATALINA_PID" ]; then
|
|
||||||
cat /dev/null > "$CATALINA_PID"
|
|
||||||
# If Tomcat has stopped don't try and force a stop with an empty PID file
|
|
||||||
FORCE=0
|
|
||||||
else
|
|
||||||
echo "The PID file could not be removed or cleared."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "Tomcat stopped."
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
if [ $SLEEP -gt 0 ]; then
|
|
||||||
sleep 1
|
|
||||||
fi
|
|
||||||
if [ $SLEEP -eq 0 ]; then
|
|
||||||
echo "Tomcat did not stop in time."
|
|
||||||
if [ $FORCE -eq 0 ]; then
|
|
||||||
echo "PID file was not removed."
|
|
||||||
fi
|
|
||||||
echo "To aid diagnostics a thread dump has been written to standard out."
|
|
||||||
kill -3 `cat "$CATALINA_PID"`
|
|
||||||
fi
|
|
||||||
SLEEP=`expr $SLEEP - 1 `
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
KILL_SLEEP_INTERVAL=5
|
|
||||||
if [ $FORCE -eq 1 ]; then
|
|
||||||
if [ -z "$CATALINA_PID" ]; then
|
|
||||||
echo "Kill failed: \$CATALINA_PID not set"
|
|
||||||
else
|
|
||||||
if [ -f "$CATALINA_PID" ]; then
|
|
||||||
PID=`cat "$CATALINA_PID"`
|
|
||||||
echo "Killing Tomcat with the PID: $PID"
|
|
||||||
kill -9 $PID
|
|
||||||
while [ $KILL_SLEEP_INTERVAL -ge 0 ]; do
|
|
||||||
kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1
|
|
||||||
if [ $? -gt 0 ]; then
|
|
||||||
rm -f "$CATALINA_PID" >/dev/null 2>&1
|
|
||||||
if [ $? != 0 ]; then
|
|
||||||
if [ -w "$CATALINA_PID" ]; then
|
|
||||||
cat /dev/null > "$CATALINA_PID"
|
|
||||||
else
|
|
||||||
echo "The PID file could not be removed."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "The Tomcat process has been killed."
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
if [ $KILL_SLEEP_INTERVAL -gt 0 ]; then
|
|
||||||
sleep 1
|
|
||||||
fi
|
|
||||||
KILL_SLEEP_INTERVAL=`expr $KILL_SLEEP_INTERVAL - 1 `
|
|
||||||
done
|
|
||||||
if [ $KILL_SLEEP_INTERVAL -lt 0 ]; then
|
|
||||||
echo "Tomcat has not been killed completely yet. The process might be waiting on some system call or might be UNINTERRUPTIBLE."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [ "$1" = "configtest" ] ; then
|
|
||||||
|
|
||||||
eval "\"$_RUNJAVA\"" $LOGGING_MANAGER "$JAVA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
|
|
||||||
org.apache.catalina.startup.Bootstrap configtest
|
|
||||||
result=$?
|
|
||||||
if [ $result -ne 0 ]; then
|
|
||||||
echo "Configuration error detected!"
|
|
||||||
fi
|
|
||||||
exit $result
|
|
||||||
|
|
||||||
elif [ "$1" = "version" ] ; then
|
|
||||||
|
|
||||||
eval "\"$_RUNJAVA\"" "$JAVA_OPTS" \
|
|
||||||
-classpath "\"$CATALINA_HOME/lib/catalina.jar\"" \
|
|
||||||
org.apache.catalina.util.ServerInfo
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
echo "Usage: catalina.sh ( commands ... )"
|
|
||||||
echo "commands:"
|
|
||||||
if $os400; then
|
|
||||||
echo " debug Start Catalina in a debugger (not available on OS400)"
|
|
||||||
echo " debug -security Debug Catalina with a security manager (not available on OS400)"
|
|
||||||
else
|
|
||||||
echo " debug Start Catalina in a debugger"
|
|
||||||
echo " debug -security Debug Catalina with a security manager"
|
|
||||||
fi
|
|
||||||
echo " jpda start Start Catalina under JPDA debugger"
|
|
||||||
echo " run Start Catalina in the current window"
|
|
||||||
echo " run -security Start in the current window with security manager"
|
|
||||||
echo " start Start Catalina in a separate window"
|
|
||||||
echo " start -security Start in a separate window with security manager"
|
|
||||||
echo " stop Stop Catalina, waiting up to 5 seconds for the process to end"
|
|
||||||
echo " stop n Stop Catalina, waiting up to n seconds for the process to end"
|
|
||||||
echo " stop -force Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running"
|
|
||||||
echo " stop n -force Stop Catalina, wait up to n seconds and then use kill -KILL if still running"
|
|
||||||
echo " configtest Run a basic syntax check on server.xml - check exit code for result"
|
|
||||||
echo " version What version of tomcat are you running?"
|
|
||||||
echo "Note: Waiting for the process to end and use of the -force option require that \$CATALINA_PID is defined"
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
fi
|
|
@ -1,58 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Script to digest password using the algorithm specified
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Guess CATALINA_HOME if not defined
|
|
||||||
set "CURRENT_DIR=%cd%"
|
|
||||||
if not "%CATALINA_HOME%" == "" goto gotHome
|
|
||||||
set "CATALINA_HOME=%CURRENT_DIR%"
|
|
||||||
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
|
||||||
cd ..
|
|
||||||
set "CATALINA_HOME=%cd%"
|
|
||||||
cd "%CURRENT_DIR%"
|
|
||||||
:gotHome
|
|
||||||
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
|
||||||
echo The CATALINA_HOME environment variable is not defined correctly
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okHome
|
|
||||||
|
|
||||||
set "EXECUTABLE=%CATALINA_HOME%\bin\tool-wrapper.bat"
|
|
||||||
|
|
||||||
rem Check that target executable exists
|
|
||||||
if exist "%EXECUTABLE%" goto okExec
|
|
||||||
echo Cannot find "%EXECUTABLE%"
|
|
||||||
echo This file is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okExec
|
|
||||||
|
|
||||||
rem Get remaining unshifted command line arguments and save them in the
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
:setArgs
|
|
||||||
if ""%1""=="""" goto doneSetArgs
|
|
||||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
|
||||||
shift
|
|
||||||
goto setArgs
|
|
||||||
:doneSetArgs
|
|
||||||
|
|
||||||
call "%EXECUTABLE%" org.apache.tomcat.util.net.openssl.ciphers.OpenSSLCipherConfigurationParser %CMD_LINE_ARGS%
|
|
||||||
|
|
||||||
:end
|
|
@ -1,60 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Script to digest password using the algorithm specified
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Better OS/400 detection: see Bugzilla 31132
|
|
||||||
os400=false
|
|
||||||
case "`uname`" in
|
|
||||||
OS400*) os400=true;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ] ; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
PRGDIR=`dirname "$PRG"`
|
|
||||||
EXECUTABLE=tool-wrapper.sh
|
|
||||||
|
|
||||||
# Check that target executable exists
|
|
||||||
if $os400; then
|
|
||||||
# -x will Only work on the os400 if the files are:
|
|
||||||
# 1. owned by the user
|
|
||||||
# 2. owned by the PRIMARY group of the user
|
|
||||||
# this will not work if the user belongs in secondary groups
|
|
||||||
eval
|
|
||||||
else
|
|
||||||
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
|
||||||
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
|
||||||
echo "The file is absent or does not have execute permission"
|
|
||||||
echo "This file is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$PRGDIR"/"$EXECUTABLE" org.apache.tomcat.util.net.openssl.ciphers.OpenSSLCipherConfigurationParser "$@"
|
|
Binary file not shown.
Binary file not shown.
@ -1,58 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Configuration test script for the CATALINA Server
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Guess CATALINA_HOME if not defined
|
|
||||||
set "CURRENT_DIR=%cd%"
|
|
||||||
if not "%CATALINA_HOME%" == "" goto gotHome
|
|
||||||
set "CATALINA_HOME=%CURRENT_DIR%"
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
cd ..
|
|
||||||
set "CATALINA_HOME=%cd%"
|
|
||||||
cd "%CURRENT_DIR%"
|
|
||||||
:gotHome
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
echo The CATALINA_HOME environment variable is not defined correctly
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okHome
|
|
||||||
|
|
||||||
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
|
|
||||||
|
|
||||||
rem Check that target executable exists
|
|
||||||
if exist "%EXECUTABLE%" goto okExec
|
|
||||||
echo Cannot find "%EXECUTABLE%"
|
|
||||||
echo This file is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okExec
|
|
||||||
|
|
||||||
rem Get remaining unshifted command line arguments and save them in the
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
:setArgs
|
|
||||||
if ""%1""=="""" goto doneSetArgs
|
|
||||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
|
||||||
shift
|
|
||||||
goto setArgs
|
|
||||||
:doneSetArgs
|
|
||||||
|
|
||||||
call "%EXECUTABLE%" configtest %CMD_LINE_ARGS%
|
|
||||||
|
|
||||||
:end
|
|
@ -1,60 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Configuration Test Script for the CATALINA Server
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Better OS/400 detection: see Bugzilla 31132
|
|
||||||
os400=false
|
|
||||||
case "`uname`" in
|
|
||||||
OS400*) os400=true;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ] ; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
PRGDIR=`dirname "$PRG"`
|
|
||||||
EXECUTABLE=catalina.sh
|
|
||||||
|
|
||||||
# Check that target executable exists
|
|
||||||
if $os400; then
|
|
||||||
# -x will Only work on the os400 if the files are:
|
|
||||||
# 1. owned by the user
|
|
||||||
# 2. owned by the PRIMARY group of the user
|
|
||||||
# this will not work if the user belongs in secondary groups
|
|
||||||
eval
|
|
||||||
else
|
|
||||||
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
|
||||||
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
|
||||||
echo "The file is absent or does not have execute permission"
|
|
||||||
echo "This file is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$PRGDIR"/"$EXECUTABLE" configtest "$@"
|
|
@ -1,293 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Commons Daemon wrapper script.
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ]; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
DIRNAME="`dirname "$PRG"`"
|
|
||||||
PROGRAM="`basename "$PRG"`"
|
|
||||||
while [ ".$1" != . ]
|
|
||||||
do
|
|
||||||
case "$1" in
|
|
||||||
--java-home )
|
|
||||||
JAVA_HOME="$2"
|
|
||||||
shift; shift;
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
--catalina-home )
|
|
||||||
CATALINA_HOME="$2"
|
|
||||||
shift; shift;
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
--catalina-base )
|
|
||||||
CATALINA_BASE="$2"
|
|
||||||
shift; shift;
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
--catalina-pid )
|
|
||||||
CATALINA_PID="$2"
|
|
||||||
shift; shift;
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
--tomcat-user )
|
|
||||||
TOMCAT_USER="$2"
|
|
||||||
shift; shift;
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
--service-start-wait-time )
|
|
||||||
SERVICE_START_WAIT_TIME="$2"
|
|
||||||
shift; shift;
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
# OS specific support (must be 'true' or 'false').
|
|
||||||
cygwin=false;
|
|
||||||
darwin=false;
|
|
||||||
case "`uname`" in
|
|
||||||
CYGWIN*)
|
|
||||||
cygwin=true
|
|
||||||
;;
|
|
||||||
Darwin*)
|
|
||||||
darwin=true
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that
|
|
||||||
test ".$MAX_FD" = . && MAX_FD="maximum"
|
|
||||||
# Setup parameters for running the jsvc
|
|
||||||
#
|
|
||||||
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
|
|
||||||
# Set JAVA_HOME to working JDK or JRE
|
|
||||||
# If not set we'll try to guess the JAVA_HOME
|
|
||||||
# from java binary if on the PATH
|
|
||||||
#
|
|
||||||
if [ -z "$JAVA_HOME" ]; then
|
|
||||||
JAVA_BIN="`which java 2>/dev/null || type java 2>&1`"
|
|
||||||
while [ -h "$JAVA_BIN" ]; do
|
|
||||||
ls=`ls -ld "$JAVA_BIN"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
JAVA_BIN="$link"
|
|
||||||
else
|
|
||||||
JAVA_BIN="`dirname "$JAVA_BIN"`/$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
test -x "$JAVA_BIN" && JAVA_HOME="`dirname "$JAVA_BIN"`"
|
|
||||||
test ".$JAVA_HOME" != . && JAVA_HOME=`cd "$JAVA_HOME/.." >/dev/null; pwd`
|
|
||||||
else
|
|
||||||
JAVA_BIN="$JAVA_HOME/bin/java"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Only set CATALINA_HOME if not already set
|
|
||||||
test ".$CATALINA_HOME" = . && CATALINA_HOME=`cd "$DIRNAME/.." >/dev/null; pwd`
|
|
||||||
test ".$CATALINA_BASE" = . && CATALINA_BASE="$CATALINA_HOME"
|
|
||||||
test ".$CATALINA_MAIN" = . && CATALINA_MAIN=org.apache.catalina.startup.Bootstrap
|
|
||||||
# If not explicitly set, look for jsvc in CATALINA_BASE first then CATALINA_HOME
|
|
||||||
if [ -z "$JSVC" ]; then
|
|
||||||
JSVC="$CATALINA_BASE/bin/jsvc"
|
|
||||||
if [ ! -x "$JSVC" ]; then
|
|
||||||
JSVC="$CATALINA_HOME/bin/jsvc"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
# Set the default service-start wait time if necessary
|
|
||||||
test ".$SERVICE_START_WAIT_TIME" = . && SERVICE_START_WAIT_TIME=10
|
|
||||||
|
|
||||||
# Ensure that any user defined CLASSPATH variables are not used on startup,
|
|
||||||
# but allow them to be specified in setenv.sh, in rare case when it is needed.
|
|
||||||
CLASSPATH=
|
|
||||||
JAVA_OPTS=
|
|
||||||
if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
|
|
||||||
. "$CATALINA_BASE/bin/setenv.sh"
|
|
||||||
elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
|
|
||||||
. "$CATALINA_HOME/bin/setenv.sh"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add on extra jar files to CLASSPATH
|
|
||||||
test ".$CLASSPATH" != . && CLASSPATH="$CLASSPATH:"
|
|
||||||
CLASSPATH="$CLASSPATH$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/commons-daemon.jar"
|
|
||||||
|
|
||||||
test ".$CATALINA_OUT" = . && CATALINA_OUT="$CATALINA_BASE/logs/catalina-daemon.out"
|
|
||||||
test ".$CATALINA_TMP" = . && CATALINA_TMP="$CATALINA_BASE/temp"
|
|
||||||
|
|
||||||
# Add tomcat-juli.jar to classpath
|
|
||||||
# tomcat-juli.jar can be over-ridden per instance
|
|
||||||
if [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then
|
|
||||||
CLASSPATH="$CLASSPATH:$CATALINA_BASE/bin/tomcat-juli.jar"
|
|
||||||
else
|
|
||||||
CLASSPATH="$CLASSPATH:$CATALINA_HOME/bin/tomcat-juli.jar"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check for the deprecated LOGGING_CONFIG
|
|
||||||
# Only use it if CATALINA_LOGGING_CONFIG is not set and LOGGING_CONFIG starts with "-D..."
|
|
||||||
if [ -z "$CATALINA_LOGGING_CONFIG" ]; then
|
|
||||||
case $LOGGING_CONFIG in
|
|
||||||
-D*) CATALINA_LOGGING_CONFIG="$LOGGING_CONFIG"
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set juli LogManager config file if it is present and an override has not been issued
|
|
||||||
if [ -z "$CATALINA_LOGGING_CONFIG" ]; then
|
|
||||||
if [ -r "$CATALINA_BASE/conf/logging.properties" ]; then
|
|
||||||
CATALINA_LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
|
|
||||||
else
|
|
||||||
# Bugzilla 45585
|
|
||||||
CATALINA_LOGGING_CONFIG="-Dnop"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
|
|
||||||
JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"
|
|
||||||
|
|
||||||
# Set -pidfile
|
|
||||||
test ".$CATALINA_PID" = . && CATALINA_PID="$CATALINA_BASE/logs/catalina-daemon.pid"
|
|
||||||
|
|
||||||
# Increase the maximum file descriptors if we can
|
|
||||||
if [ "$cygwin" = "false" ]; then
|
|
||||||
MAX_FD_LIMIT=`ulimit -H -n`
|
|
||||||
if [ "$?" -eq 0 ]; then
|
|
||||||
# Darwin does not allow RLIMIT_INFINITY on file soft limit
|
|
||||||
if [ "$darwin" = "true" ] && [ "$MAX_FD_LIMIT" = "unlimited" ]; then
|
|
||||||
MAX_FD_LIMIT=`/usr/sbin/sysctl -n kern.maxfilesperproc`
|
|
||||||
fi
|
|
||||||
test ".$MAX_FD" = ".maximum" && MAX_FD="$MAX_FD_LIMIT"
|
|
||||||
ulimit -n $MAX_FD
|
|
||||||
if [ "$?" -ne 0 ]; then
|
|
||||||
echo "$PROGRAM: Could not set maximum file descriptor limit: $MAX_FD"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "$PROGRAM: Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set UMASK unless it has been overridden
|
|
||||||
if [ -z "$UMASK" ]; then
|
|
||||||
UMASK="0027"
|
|
||||||
fi
|
|
||||||
umask $UMASK
|
|
||||||
|
|
||||||
# Java 9 no longer supports the java.endorsed.dirs
|
|
||||||
# system property. Only try to use it if
|
|
||||||
# JAVA_ENDORSED_DIRS was explicitly set
|
|
||||||
# or CATALINA_HOME/endorsed exists.
|
|
||||||
ENDORSED_PROP=ignore.endorsed.dirs
|
|
||||||
if [ -n "$JAVA_ENDORSED_DIRS" ]; then
|
|
||||||
ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
fi
|
|
||||||
if [ -d "$CATALINA_HOME/endorsed" ]; then
|
|
||||||
ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ----- Execute The Requested Command -----------------------------------------
|
|
||||||
case "$1" in
|
|
||||||
run )
|
|
||||||
shift
|
|
||||||
eval exec "\"$JSVC\"" $* \
|
|
||||||
"$JSVC_OPTS" \
|
|
||||||
-java-home "\"$JAVA_HOME\"" \
|
|
||||||
-pidfile "\"$CATALINA_PID\"" \
|
|
||||||
-wait $SERVICE_START_WAIT_TIME \
|
|
||||||
-umask $UMASK \
|
|
||||||
-nodetach \
|
|
||||||
-outfile "\"&1\"" \
|
|
||||||
-errfile "\"&2\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
"\"$CATALINA_LOGGING_CONFIG\"" "$JAVA_OPTS" "$CATALINA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMP\"" \
|
|
||||||
$CATALINA_MAIN
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
start )
|
|
||||||
eval "\"$JSVC\"" \
|
|
||||||
"$JSVC_OPTS" \
|
|
||||||
-java-home "\"$JAVA_HOME\"" \
|
|
||||||
-user $TOMCAT_USER \
|
|
||||||
-pidfile "\"$CATALINA_PID\"" \
|
|
||||||
-wait $SERVICE_START_WAIT_TIME \
|
|
||||||
-umask $UMASK \
|
|
||||||
-outfile "\"$CATALINA_OUT\"" \
|
|
||||||
-errfile "\"&1\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
"\"$CATALINA_LOGGING_CONFIG\"" "$JAVA_OPTS" "$CATALINA_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMP\"" \
|
|
||||||
$CATALINA_MAIN
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
stop )
|
|
||||||
eval "\"$JSVC\"" \
|
|
||||||
"$JSVC_OPTS" \
|
|
||||||
-stop \
|
|
||||||
-pidfile "\"$CATALINA_PID\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-Dcatalina.base="\"$CATALINA_BASE\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
-Djava.io.tmpdir="\"$CATALINA_TMP\"" \
|
|
||||||
$CATALINA_MAIN
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
version )
|
|
||||||
"$JSVC" \
|
|
||||||
-java-home "$JAVA_HOME" \
|
|
||||||
-pidfile "$CATALINA_PID" \
|
|
||||||
-classpath "$CLASSPATH" \
|
|
||||||
-errfile "&2" \
|
|
||||||
-version \
|
|
||||||
-check \
|
|
||||||
$CATALINA_MAIN
|
|
||||||
if [ "$?" = 0 ]; then
|
|
||||||
"$JAVA_BIN" \
|
|
||||||
-classpath "$CATALINA_HOME/lib/catalina.jar" \
|
|
||||||
org.apache.catalina.util.ServerInfo
|
|
||||||
fi
|
|
||||||
exit $?
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
echo "Unknown command: '$1'"
|
|
||||||
echo "Usage: $PROGRAM ( commands ... )"
|
|
||||||
echo "commands:"
|
|
||||||
echo " run Start Tomcat without detaching from console"
|
|
||||||
echo " start Start Tomcat"
|
|
||||||
echo " stop Stop Tomcat"
|
|
||||||
echo " version What version of commons daemon and Tomcat"
|
|
||||||
echo " are you running?"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,58 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Script to digest password using the algorithm specified
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Guess CATALINA_HOME if not defined
|
|
||||||
set "CURRENT_DIR=%cd%"
|
|
||||||
if not "%CATALINA_HOME%" == "" goto gotHome
|
|
||||||
set "CATALINA_HOME=%CURRENT_DIR%"
|
|
||||||
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
|
||||||
cd ..
|
|
||||||
set "CATALINA_HOME=%cd%"
|
|
||||||
cd "%CURRENT_DIR%"
|
|
||||||
:gotHome
|
|
||||||
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
|
||||||
echo The CATALINA_HOME environment variable is not defined correctly
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okHome
|
|
||||||
|
|
||||||
set "EXECUTABLE=%CATALINA_HOME%\bin\tool-wrapper.bat"
|
|
||||||
|
|
||||||
rem Check that target executable exists
|
|
||||||
if exist "%EXECUTABLE%" goto okExec
|
|
||||||
echo Cannot find "%EXECUTABLE%"
|
|
||||||
echo This file is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okExec
|
|
||||||
|
|
||||||
rem Get remaining unshifted command line arguments and save them in the
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
:setArgs
|
|
||||||
if ""%1""=="""" goto doneSetArgs
|
|
||||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
|
||||||
shift
|
|
||||||
goto setArgs
|
|
||||||
:doneSetArgs
|
|
||||||
|
|
||||||
call "%EXECUTABLE%" -server org.apache.catalina.realm.RealmBase %CMD_LINE_ARGS%
|
|
||||||
|
|
||||||
:end
|
|
@ -1,60 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Script to digest password using the algorithm specified
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Better OS/400 detection: see Bugzilla 31132
|
|
||||||
os400=false
|
|
||||||
case "`uname`" in
|
|
||||||
OS400*) os400=true;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ] ; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
PRGDIR=`dirname "$PRG"`
|
|
||||||
EXECUTABLE=tool-wrapper.sh
|
|
||||||
|
|
||||||
# Check that target executable exists
|
|
||||||
if $os400; then
|
|
||||||
# -x will Only work on the os400 if the files are:
|
|
||||||
# 1. owned by the user
|
|
||||||
# 2. owned by the PRIMARY group of the user
|
|
||||||
# this will not work if the user belongs in secondary groups
|
|
||||||
eval
|
|
||||||
else
|
|
||||||
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
|
||||||
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
|
||||||
echo "The file is absent or does not have execute permission"
|
|
||||||
echo "This file is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$PRGDIR"/"$EXECUTABLE" -server org.apache.catalina.realm.RealmBase "$@"
|
|
@ -1,105 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Set JAVA_HOME or JRE_HOME if not already set, ensure any provided settings
|
|
||||||
rem are valid and consistent with the selected start-up options and set up the
|
|
||||||
rem endorsed directory.
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
rem Make sure prerequisite environment variables are set
|
|
||||||
|
|
||||||
rem In debug mode we need a real JDK (JAVA_HOME)
|
|
||||||
if ""%1"" == ""debug"" goto needJavaHome
|
|
||||||
|
|
||||||
rem Otherwise either JRE or JDK are fine
|
|
||||||
if not "%JRE_HOME%" == "" goto gotJreHome
|
|
||||||
if not "%JAVA_HOME%" == "" goto gotJavaHome
|
|
||||||
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
|
|
||||||
echo At least one of these environment variable is needed to run this program
|
|
||||||
goto exit
|
|
||||||
|
|
||||||
:needJavaHome
|
|
||||||
rem Check if we have a usable JDK
|
|
||||||
if "%JAVA_HOME%" == "" goto noJavaHome
|
|
||||||
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
|
|
||||||
if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome
|
|
||||||
if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
|
|
||||||
set "JRE_HOME=%JAVA_HOME%"
|
|
||||||
goto okJava
|
|
||||||
|
|
||||||
:noJavaHome
|
|
||||||
echo The JAVA_HOME environment variable is not defined correctly.
|
|
||||||
echo JAVA_HOME=%JAVA_HOME%
|
|
||||||
echo It is needed to run this program in debug mode.
|
|
||||||
echo NB: JAVA_HOME should point to a JDK not a JRE.
|
|
||||||
goto exit
|
|
||||||
|
|
||||||
:gotJavaHome
|
|
||||||
rem No JRE given, check if JAVA_HOME is usable as JRE_HOME
|
|
||||||
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHomeAsJre
|
|
||||||
rem Use JAVA_HOME as JRE_HOME
|
|
||||||
set "JRE_HOME=%JAVA_HOME%"
|
|
||||||
goto okJava
|
|
||||||
|
|
||||||
:noJavaHomeAsJre
|
|
||||||
echo The JAVA_HOME environment variable is not defined correctly.
|
|
||||||
echo JAVA_HOME=%JAVA_HOME%
|
|
||||||
echo NB: JAVA_HOME should point to a JDK not a JRE.
|
|
||||||
goto exit
|
|
||||||
|
|
||||||
:gotJreHome
|
|
||||||
rem Check if we have a usable JRE
|
|
||||||
if not exist "%JRE_HOME%\bin\java.exe" goto noJreHome
|
|
||||||
goto okJava
|
|
||||||
|
|
||||||
:noJreHome
|
|
||||||
rem Needed at least a JRE
|
|
||||||
echo The JRE_HOME environment variable is not defined correctly
|
|
||||||
echo JRE_HOME=%JRE_HOME%
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto exit
|
|
||||||
|
|
||||||
:okJava
|
|
||||||
rem Don't override the endorsed dir if the user has set it previously
|
|
||||||
if not "%JAVA_ENDORSED_DIRS%" == "" goto gotEndorseddir
|
|
||||||
rem Java 9 no longer supports the java.endorsed.dirs
|
|
||||||
rem system property. Only try to use it if
|
|
||||||
rem CATALINA_HOME/endorsed exists.
|
|
||||||
if not exist "%CATALINA_HOME%\endorsed" goto gotEndorseddir
|
|
||||||
set "JAVA_ENDORSED_DIRS=%CATALINA_HOME%\endorsed"
|
|
||||||
:gotEndorseddir
|
|
||||||
|
|
||||||
rem Don't override _RUNJAVA if the user has set it previously
|
|
||||||
if not "%_RUNJAVA%" == "" goto gotRunJava
|
|
||||||
rem Set standard command for invoking Java.
|
|
||||||
rem Also note the quoting as JRE_HOME may contain spaces.
|
|
||||||
set _RUNJAVA="%JRE_HOME%\bin\java.exe"
|
|
||||||
:gotRunJava
|
|
||||||
|
|
||||||
rem Don't override _RUNJDB if the user has set it previously
|
|
||||||
rem Also note the quoting as JAVA_HOME may contain spaces.
|
|
||||||
if not "%_RUNJDB%" == "" goto gotRunJdb
|
|
||||||
set _RUNJDB="%JAVA_HOME%\bin\jdb.exe"
|
|
||||||
:gotRunJdb
|
|
||||||
|
|
||||||
goto end
|
|
||||||
|
|
||||||
:exit
|
|
||||||
exit /b 1
|
|
||||||
|
|
||||||
:end
|
|
||||||
exit /b 0
|
|
@ -1,116 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Set JAVA_HOME or JRE_HOME if not already set, ensure any provided settings
|
|
||||||
# are valid and consistent with the selected start-up options and set up the
|
|
||||||
# endorsed directory.
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Make sure prerequisite environment variables are set
|
|
||||||
if [ -z "$JAVA_HOME" ] && [ -z "$JRE_HOME" ]; then
|
|
||||||
if $darwin; then
|
|
||||||
# Bugzilla 54390
|
|
||||||
if [ -x '/usr/libexec/java_home' ] ; then
|
|
||||||
export JAVA_HOME=`/usr/libexec/java_home`
|
|
||||||
# Bugzilla 37284 (reviewed).
|
|
||||||
elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
|
|
||||||
export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
JAVA_PATH=`which java 2>/dev/null`
|
|
||||||
if [ "x$JAVA_PATH" != "x" ]; then
|
|
||||||
JAVA_PATH=`dirname "$JAVA_PATH" 2>/dev/null`
|
|
||||||
JRE_HOME=`dirname "$JAVA_PATH" 2>/dev/null`
|
|
||||||
fi
|
|
||||||
if [ "x$JRE_HOME" = "x" ]; then
|
|
||||||
# XXX: Should we try other locations?
|
|
||||||
if [ -x /usr/bin/java ]; then
|
|
||||||
JRE_HOME=/usr
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ -z "$JAVA_HOME" ] && [ -z "$JRE_HOME" ]; then
|
|
||||||
echo "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"
|
|
||||||
echo "At least one of these environment variable is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ -z "$JAVA_HOME" ] && [ "$1" = "debug" ]; then
|
|
||||||
echo "JAVA_HOME should point to a JDK in order to run in debug mode."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If we're running under jdb, we need a full jdk.
|
|
||||||
if [ "$1" = "debug" ] ; then
|
|
||||||
if [ "$os400" = "true" ]; then
|
|
||||||
if [ ! -x "$JAVA_HOME"/bin/java ] || [ ! -x "$JAVA_HOME"/bin/javac ]; then
|
|
||||||
echo "The JAVA_HOME environment variable is not defined correctly"
|
|
||||||
echo "JAVA_HOME=$JAVA_HOME"
|
|
||||||
echo "This environment variable is needed to run this program"
|
|
||||||
echo "NB: JAVA_HOME should point to a JDK not a JRE"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [ ! -x "$JAVA_HOME"/bin/java ] || [ ! -x "$JAVA_HOME"/bin/jdb ] || [ ! -x "$JAVA_HOME"/bin/javac ]; then
|
|
||||||
echo "The JAVA_HOME environment variable is not defined correctly"
|
|
||||||
echo "JAVA_HOME=$JAVA_HOME"
|
|
||||||
echo "This environment variable is needed to run this program"
|
|
||||||
echo "NB: JAVA_HOME should point to a JDK not a JRE"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$JRE_HOME" ]; then
|
|
||||||
# JAVA_HOME_MUST be set
|
|
||||||
if [ ! -x "$JAVA_HOME"/bin/java ]; then
|
|
||||||
echo "The JAVA_HOME environment variable is not defined correctly"
|
|
||||||
echo "JAVA_HOME=$JAVA_HOME"
|
|
||||||
echo "This environment variable is needed to run this program"
|
|
||||||
echo "NB: JAVA_HOME should point to a JDK not a JRE"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
JRE_HOME="$JAVA_HOME"
|
|
||||||
else
|
|
||||||
if [ ! -x "$JRE_HOME"/bin/java ]; then
|
|
||||||
echo "The JRE_HOME environment variable is not defined correctly"
|
|
||||||
echo "JRE_HOME=$JRE_HOME"
|
|
||||||
echo "This environment variable is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Don't override the endorsed dir if the user has set it previously
|
|
||||||
if [ -z "$JAVA_ENDORSED_DIRS" ]; then
|
|
||||||
# Java 9 no longer supports the java.endorsed.dirs
|
|
||||||
# system property. Only try to use it if
|
|
||||||
# CATALINA_HOME/endorsed exists.
|
|
||||||
if [ -d "$CATALINA_HOME"/endorsed ]; then
|
|
||||||
JAVA_ENDORSED_DIRS="$CATALINA_HOME"/endorsed
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set standard commands for invoking Java, if not already set.
|
|
||||||
if [ -z "$_RUNJAVA" ]; then
|
|
||||||
_RUNJAVA="$JRE_HOME"/bin/java
|
|
||||||
fi
|
|
||||||
if [ "$os400" != "true" ]; then
|
|
||||||
if [ -z "$_RUNJDB" ]; then
|
|
||||||
_RUNJDB="$JAVA_HOME"/bin/jdb
|
|
||||||
fi
|
|
||||||
fi
|
|
@ -1,58 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Stop script for the CATALINA Server
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Guess CATALINA_HOME if not defined
|
|
||||||
set "CURRENT_DIR=%cd%"
|
|
||||||
if not "%CATALINA_HOME%" == "" goto gotHome
|
|
||||||
set "CATALINA_HOME=%CURRENT_DIR%"
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
cd ..
|
|
||||||
set "CATALINA_HOME=%cd%"
|
|
||||||
cd "%CURRENT_DIR%"
|
|
||||||
:gotHome
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
echo The CATALINA_HOME environment variable is not defined correctly
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okHome
|
|
||||||
|
|
||||||
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
|
|
||||||
|
|
||||||
rem Check that target executable exists
|
|
||||||
if exist "%EXECUTABLE%" goto okExec
|
|
||||||
echo Cannot find "%EXECUTABLE%"
|
|
||||||
echo This file is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okExec
|
|
||||||
|
|
||||||
rem Get remaining unshifted command line arguments and save them in the
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
:setArgs
|
|
||||||
if ""%1""=="""" goto doneSetArgs
|
|
||||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
|
||||||
shift
|
|
||||||
goto setArgs
|
|
||||||
:doneSetArgs
|
|
||||||
|
|
||||||
call "%EXECUTABLE%" stop %CMD_LINE_ARGS%
|
|
||||||
|
|
||||||
:end
|
|
@ -1,60 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Stop script for the CATALINA Server
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Better OS/400 detection: see Bugzilla 31132
|
|
||||||
os400=false
|
|
||||||
case "`uname`" in
|
|
||||||
OS400*) os400=true;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ] ; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
PRGDIR=`dirname "$PRG"`
|
|
||||||
EXECUTABLE=catalina.sh
|
|
||||||
|
|
||||||
# Check that target executable exists
|
|
||||||
if $os400; then
|
|
||||||
# -x will Only work on the os400 if the files are:
|
|
||||||
# 1. owned by the user
|
|
||||||
# 2. owned by the PRIMARY group of the user
|
|
||||||
# this will not work if the user belongs in secondary groups
|
|
||||||
eval
|
|
||||||
else
|
|
||||||
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
|
||||||
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
|
||||||
echo "The file is absent or does not have execute permission"
|
|
||||||
echo "This file is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
|
|
@ -1,58 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Start script for the CATALINA Server
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Guess CATALINA_HOME if not defined
|
|
||||||
set "CURRENT_DIR=%cd%"
|
|
||||||
if not "%CATALINA_HOME%" == "" goto gotHome
|
|
||||||
set "CATALINA_HOME=%CURRENT_DIR%"
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
cd ..
|
|
||||||
set "CATALINA_HOME=%cd%"
|
|
||||||
cd "%CURRENT_DIR%"
|
|
||||||
:gotHome
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
echo The CATALINA_HOME environment variable is not defined correctly
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okHome
|
|
||||||
|
|
||||||
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
|
|
||||||
|
|
||||||
rem Check that target executable exists
|
|
||||||
if exist "%EXECUTABLE%" goto okExec
|
|
||||||
echo Cannot find "%EXECUTABLE%"
|
|
||||||
echo This file is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okExec
|
|
||||||
|
|
||||||
rem Get remaining unshifted command line arguments and save them in the
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
:setArgs
|
|
||||||
if ""%1""=="""" goto doneSetArgs
|
|
||||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
|
||||||
shift
|
|
||||||
goto setArgs
|
|
||||||
:doneSetArgs
|
|
||||||
|
|
||||||
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
|
|
||||||
|
|
||||||
:end
|
|
@ -1,60 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Start Script for the CATALINA Server
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Better OS/400 detection: see Bugzilla 31132
|
|
||||||
os400=false
|
|
||||||
case "`uname`" in
|
|
||||||
OS400*) os400=true;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ] ; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
PRGDIR=`dirname "$PRG"`
|
|
||||||
EXECUTABLE=catalina.sh
|
|
||||||
|
|
||||||
# Check that target executable exists
|
|
||||||
if $os400; then
|
|
||||||
# -x will Only work on the os400 if the files are:
|
|
||||||
# 1. owned by the user
|
|
||||||
# 2. owned by the PRIMARY group of the user
|
|
||||||
# this will not work if the user belongs in secondary groups
|
|
||||||
eval
|
|
||||||
else
|
|
||||||
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
|
||||||
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
|
||||||
echo "The file is absent or does not have execute permission"
|
|
||||||
echo "This file is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
|
|
Binary file not shown.
Binary file not shown.
@ -1,110 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Wrapper script for command line tools
|
|
||||||
rem
|
|
||||||
rem Environment Variable Prerequisites
|
|
||||||
rem
|
|
||||||
rem CATALINA_HOME May point at your Catalina "build" directory.
|
|
||||||
rem
|
|
||||||
rem TOOL_OPTS (Optional) Java runtime options.
|
|
||||||
rem
|
|
||||||
rem JAVA_HOME Must point at your Java Development Kit installation.
|
|
||||||
rem Using JRE_HOME instead works as well.
|
|
||||||
rem
|
|
||||||
rem JRE_HOME Must point at your Java Runtime installation.
|
|
||||||
rem Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
|
|
||||||
rem are both set, JRE_HOME is used.
|
|
||||||
rem
|
|
||||||
rem JAVA_OPTS (Optional) Java runtime options.
|
|
||||||
rem
|
|
||||||
rem JAVA_ENDORSED_DIRS (Optional) Lists of of semi-colon separated directories
|
|
||||||
rem containing some jars in order to allow replacement of APIs
|
|
||||||
rem created outside of the JCP (i.e. DOM and SAX from W3C).
|
|
||||||
rem It can also be used to update the XML parser implementation.
|
|
||||||
rem This is only supported for Java <= 8.
|
|
||||||
rem Defaults to $CATALINA_HOME/endorsed.
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Guess CATALINA_HOME if not defined
|
|
||||||
set "CURRENT_DIR=%cd%"
|
|
||||||
if not "%CATALINA_HOME%" == "" goto gotHome
|
|
||||||
set "CATALINA_HOME=%CURRENT_DIR%"
|
|
||||||
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
|
||||||
cd ..
|
|
||||||
set "CATALINA_HOME=%cd%"
|
|
||||||
cd "%CURRENT_DIR%"
|
|
||||||
:gotHome
|
|
||||||
if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
|
|
||||||
echo The CATALINA_HOME environment variable is not defined correctly
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okHome
|
|
||||||
|
|
||||||
rem Ensure that any user defined CLASSPATH variables are not used on startup,
|
|
||||||
rem but allow them to be specified in setenv.bat, in rare case when it is needed.
|
|
||||||
set CLASSPATH=
|
|
||||||
|
|
||||||
rem Get standard environment variables
|
|
||||||
if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
|
|
||||||
|
|
||||||
rem Get standard Java environment variables
|
|
||||||
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
|
|
||||||
echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
|
|
||||||
echo This file is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okSetclasspath
|
|
||||||
call "%CATALINA_HOME%\bin\setclasspath.bat" %1
|
|
||||||
if errorlevel 1 goto end
|
|
||||||
|
|
||||||
rem Add on extra jar files to CLASSPATH
|
|
||||||
rem Note that there are no quotes as we do not want to introduce random
|
|
||||||
rem quotes into the CLASSPATH
|
|
||||||
if "%CLASSPATH%" == "" goto emptyClasspath
|
|
||||||
set "CLASSPATH=%CLASSPATH%;"
|
|
||||||
:emptyClasspath
|
|
||||||
set "CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_HOME%\bin\tomcat-juli.jar;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\tomcat-util.jar"
|
|
||||||
|
|
||||||
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
|
|
||||||
|
|
||||||
rem Java 9 no longer supports the java.endorsed.dirs
|
|
||||||
rem system property. Only try to use it if
|
|
||||||
rem JAVA_ENDORSED_DIRS was explicitly set
|
|
||||||
rem or CATALINA_HOME/endorsed exists.
|
|
||||||
set ENDORSED_PROP=ignore.endorsed.dirs
|
|
||||||
if "%JAVA_ENDORSED_DIRS%" == "" goto noEndorsedVar
|
|
||||||
set ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
goto doneEndorsed
|
|
||||||
:noEndorsedVar
|
|
||||||
if not exist "%CATALINA_HOME%\endorsed" goto doneEndorsed
|
|
||||||
set ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
:doneEndorsed
|
|
||||||
|
|
||||||
rem Get remaining unshifted command line arguments and save them in the
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
:setArgs
|
|
||||||
if ""%1""=="""" goto doneSetArgs
|
|
||||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
|
||||||
shift
|
|
||||||
goto setArgs
|
|
||||||
:doneSetArgs
|
|
||||||
|
|
||||||
%_RUNJAVA% %JAVA_OPTS% %TOOL_OPTS% -D%ENDORSED_PROP%="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Tool %CMD_LINE_ARGS%
|
|
||||||
|
|
||||||
:end
|
|
@ -1,153 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Wrapper script for command line tools
|
|
||||||
#
|
|
||||||
# Environment Variable Prerequisites
|
|
||||||
#
|
|
||||||
# CATALINA_HOME May point at your Catalina "build" directory.
|
|
||||||
#
|
|
||||||
# TOOL_OPTS (Optional) Java runtime options.
|
|
||||||
#
|
|
||||||
# JAVA_HOME Must point at your Java Development Kit installation.
|
|
||||||
# Using JRE_HOME instead works as well.
|
|
||||||
#
|
|
||||||
# JRE_HOME Must point at your Java Runtime installation.
|
|
||||||
# Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
|
|
||||||
# are both set, JRE_HOME is used.
|
|
||||||
#
|
|
||||||
# JAVA_OPTS (Optional) Java runtime options.
|
|
||||||
#
|
|
||||||
# JAVA_ENDORSED_DIRS (Optional) Lists of of colon separated directories
|
|
||||||
# containing some jars in order to allow replacement of APIs
|
|
||||||
# created outside of the JCP (i.e. DOM and SAX from W3C).
|
|
||||||
# It can also be used to update the XML parser implementation.
|
|
||||||
# This is only supported for Java <= 8.
|
|
||||||
# Defaults to $CATALINA_HOME/endorsed.
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# OS specific support. $var _must_ be set to either true or false.
|
|
||||||
cygwin=false
|
|
||||||
darwin=false
|
|
||||||
os400=false
|
|
||||||
case "`uname`" in
|
|
||||||
CYGWIN*) cygwin=true;;
|
|
||||||
Darwin*) darwin=true;;
|
|
||||||
OS400*) os400=true;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ]; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Get standard environment variables
|
|
||||||
PRGDIR=`dirname "$PRG"`
|
|
||||||
|
|
||||||
# Only set CATALINA_HOME if not already set
|
|
||||||
[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
|
|
||||||
|
|
||||||
# Ensure that any user defined CLASSPATH variables are not used on startup,
|
|
||||||
# but allow them to be specified in setenv.sh, in rare case when it is needed.
|
|
||||||
CLASSPATH=
|
|
||||||
|
|
||||||
if [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
|
|
||||||
. "$CATALINA_HOME/bin/setenv.sh"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
|
||||||
if $cygwin; then
|
|
||||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
|
||||||
[ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
|
|
||||||
[ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
|
|
||||||
[ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
|
||||||
fi
|
|
||||||
|
|
||||||
# For OS400
|
|
||||||
if $os400; then
|
|
||||||
# Set job priority to standard for interactive (interactive - 6) by using
|
|
||||||
# the interactive priority - 6, the helper threads that respond to requests
|
|
||||||
# will be running at the same priority as interactive jobs.
|
|
||||||
COMMAND='chgjob job('$JOBNAME') runpty(6)'
|
|
||||||
system $COMMAND
|
|
||||||
|
|
||||||
# Enable multi threading
|
|
||||||
export QIBM_MULTI_THREADED=Y
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get standard Java environment variables
|
|
||||||
if $os400; then
|
|
||||||
# -r will Only work on the os400 if the files are:
|
|
||||||
# 1. owned by the user
|
|
||||||
# 2. owned by the PRIMARY group of the user
|
|
||||||
# this will not work if the user belongs in secondary groups
|
|
||||||
. "$CATALINA_HOME"/bin/setclasspath.sh
|
|
||||||
else
|
|
||||||
if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
|
|
||||||
. "$CATALINA_HOME"/bin/setclasspath.sh
|
|
||||||
else
|
|
||||||
echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
|
|
||||||
echo "This file is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add on extra jar files to CLASSPATH
|
|
||||||
if [ ! -z "$CLASSPATH" ] ; then
|
|
||||||
CLASSPATH="$CLASSPATH":
|
|
||||||
fi
|
|
||||||
CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/tomcat-juli.jar:"$CATALINA_HOME"/lib/servlet-api.jar:"$CATALINA_HOME"/lib/tomcat-util.jar
|
|
||||||
|
|
||||||
# For Cygwin, switch paths to Windows format before running java
|
|
||||||
if $cygwin; then
|
|
||||||
JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
|
|
||||||
JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
|
|
||||||
CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
|
|
||||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
|
||||||
[ -n "$JAVA_ENDORSED_DIRS" ] && JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Java 9 no longer supports the java.endorsed.dirs
|
|
||||||
# system property. Only try to use it if
|
|
||||||
# JAVA_ENDORSED_DIRS was explicitly set
|
|
||||||
# or CATALINA_HOME/endorsed exists.
|
|
||||||
ENDORSED_PROP=ignore.endorsed.dirs
|
|
||||||
if [ -n "$JAVA_ENDORSED_DIRS" ]; then
|
|
||||||
ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
fi
|
|
||||||
if [ -d "$CATALINA_HOME/endorsed" ]; then
|
|
||||||
ENDORSED_PROP=java.endorsed.dirs
|
|
||||||
fi
|
|
||||||
|
|
||||||
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
|
|
||||||
|
|
||||||
# ----- Execute The Requested Command -----------------------------------------
|
|
||||||
|
|
||||||
eval exec "\"$_RUNJAVA\"" "$JAVA_OPTS" "$TOOL_OPTS" \
|
|
||||||
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
|
|
||||||
-classpath "\"$CLASSPATH\"" \
|
|
||||||
-Dcatalina.home="\"$CATALINA_HOME\"" \
|
|
||||||
org.apache.catalina.startup.Tool "$@"
|
|
@ -1,58 +0,0 @@
|
|||||||
@echo off
|
|
||||||
rem Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
rem contributor license agreements. See the NOTICE file distributed with
|
|
||||||
rem this work for additional information regarding copyright ownership.
|
|
||||||
rem The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
rem (the "License"); you may not use this file except in compliance with
|
|
||||||
rem the License. You may obtain a copy of the License at
|
|
||||||
rem
|
|
||||||
rem http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
rem
|
|
||||||
rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
rem See the License for the specific language governing permissions and
|
|
||||||
rem limitations under the License.
|
|
||||||
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
rem Version script for the CATALINA Server
|
|
||||||
rem ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Guess CATALINA_HOME if not defined
|
|
||||||
set "CURRENT_DIR=%cd%"
|
|
||||||
if not "%CATALINA_HOME%" == "" goto gotHome
|
|
||||||
set "CATALINA_HOME=%CURRENT_DIR%"
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
cd ..
|
|
||||||
set "CATALINA_HOME=%cd%"
|
|
||||||
cd "%CURRENT_DIR%"
|
|
||||||
:gotHome
|
|
||||||
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
|
|
||||||
echo The CATALINA_HOME environment variable is not defined correctly
|
|
||||||
echo This environment variable is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okHome
|
|
||||||
|
|
||||||
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
|
|
||||||
|
|
||||||
rem Check that target executable exists
|
|
||||||
if exist "%EXECUTABLE%" goto okExec
|
|
||||||
echo Cannot find "%EXECUTABLE%"
|
|
||||||
echo This file is needed to run this program
|
|
||||||
goto end
|
|
||||||
:okExec
|
|
||||||
|
|
||||||
rem Get remaining unshifted command line arguments and save them in the
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
:setArgs
|
|
||||||
if ""%1""=="""" goto doneSetArgs
|
|
||||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
|
|
||||||
shift
|
|
||||||
goto setArgs
|
|
||||||
:doneSetArgs
|
|
||||||
|
|
||||||
call "%EXECUTABLE%" version %CMD_LINE_ARGS%
|
|
||||||
|
|
||||||
:end
|
|
@ -1,60 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Version Script for the CATALINA Server
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Better OS/400 detection: see Bugzilla 31132
|
|
||||||
os400=false
|
|
||||||
case "`uname`" in
|
|
||||||
OS400*) os400=true;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# resolve links - $0 may be a softlink
|
|
||||||
PRG="$0"
|
|
||||||
|
|
||||||
while [ -h "$PRG" ] ; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`/"$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
PRGDIR=`dirname "$PRG"`
|
|
||||||
EXECUTABLE=catalina.sh
|
|
||||||
|
|
||||||
# Check that target executable exists
|
|
||||||
if $os400; then
|
|
||||||
# -x will Only work on the os400 if the files are:
|
|
||||||
# 1. owned by the user
|
|
||||||
# 2. owned by the PRIMARY group of the user
|
|
||||||
# this will not work if the user belongs in secondary groups
|
|
||||||
eval
|
|
||||||
else
|
|
||||||
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
|
|
||||||
echo "Cannot find $PRGDIR/$EXECUTABLE"
|
|
||||||
echo "The file is absent or does not have execute permission"
|
|
||||||
echo "This file is needed to run this program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$PRGDIR"/"$EXECUTABLE" version "$@"
|
|
@ -1,264 +0,0 @@
|
|||||||
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
// contributor license agreements. See the NOTICE file distributed with
|
|
||||||
// this work for additional information regarding copyright ownership.
|
|
||||||
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
// (the "License"); you may not use this file except in compliance with
|
|
||||||
// the License. You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// catalina.policy - Security Policy Permissions for Tomcat
|
|
||||||
//
|
|
||||||
// This file contains a default set of security policies to be enforced (by the
|
|
||||||
// JVM) when Catalina is executed with the "-security" option. In addition
|
|
||||||
// to the permissions granted here, the following additional permissions are
|
|
||||||
// granted to each web application:
|
|
||||||
//
|
|
||||||
// * Read access to the web application's document root directory
|
|
||||||
// * Read, write and delete access to the web application's working directory
|
|
||||||
// ============================================================================
|
|
||||||
|
|
||||||
|
|
||||||
// ========== SYSTEM CODE PERMISSIONS =========================================
|
|
||||||
|
|
||||||
|
|
||||||
// These permissions apply to javac
|
|
||||||
grant codeBase "file:${java.home}/lib/-" {
|
|
||||||
permission java.security.AllPermission;
|
|
||||||
};
|
|
||||||
|
|
||||||
// These permissions apply to all shared system extensions
|
|
||||||
grant codeBase "file:${java.home}/jre/lib/ext/-" {
|
|
||||||
permission java.security.AllPermission;
|
|
||||||
};
|
|
||||||
|
|
||||||
// These permissions apply to javac when ${java.home} points at $JAVA_HOME/jre
|
|
||||||
grant codeBase "file:${java.home}/../lib/-" {
|
|
||||||
permission java.security.AllPermission;
|
|
||||||
};
|
|
||||||
|
|
||||||
// These permissions apply to all shared system extensions when
|
|
||||||
// ${java.home} points at $JAVA_HOME/jre
|
|
||||||
grant codeBase "file:${java.home}/lib/ext/-" {
|
|
||||||
permission java.security.AllPermission;
|
|
||||||
};
|
|
||||||
|
|
||||||
// This permission is required when using javac to compile JSPs on Java 9
|
|
||||||
// onwards
|
|
||||||
//grant codeBase "jrt:/jdk.compiler" {
|
|
||||||
// permission java.security.AllPermission;
|
|
||||||
//};
|
|
||||||
|
|
||||||
|
|
||||||
// ========== CATALINA CODE PERMISSIONS =======================================
|
|
||||||
|
|
||||||
// These permissions apply to the daemon code
|
|
||||||
grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
|
|
||||||
permission java.security.AllPermission;
|
|
||||||
};
|
|
||||||
|
|
||||||
// These permissions apply to the logging API
|
|
||||||
// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home},
|
|
||||||
// update this section accordingly.
|
|
||||||
// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
|
|
||||||
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
|
|
||||||
permission java.io.FilePermission
|
|
||||||
"${java.home}${file.separator}lib${file.separator}logging.properties", "read";
|
|
||||||
|
|
||||||
permission java.io.FilePermission
|
|
||||||
"${catalina.base}${file.separator}conf${file.separator}logging.properties", "read";
|
|
||||||
permission java.io.FilePermission
|
|
||||||
"${catalina.base}${file.separator}logs", "read, write";
|
|
||||||
permission java.io.FilePermission
|
|
||||||
"${catalina.base}${file.separator}logs${file.separator}*", "read, write, delete";
|
|
||||||
|
|
||||||
permission java.lang.RuntimePermission "shutdownHooks";
|
|
||||||
permission java.lang.RuntimePermission "getClassLoader";
|
|
||||||
permission java.lang.RuntimePermission "setContextClassLoader";
|
|
||||||
|
|
||||||
permission java.lang.management.ManagementPermission "monitor";
|
|
||||||
|
|
||||||
permission java.util.logging.LoggingPermission "control";
|
|
||||||
|
|
||||||
permission java.util.PropertyPermission "java.util.logging.config.class", "read";
|
|
||||||
permission java.util.PropertyPermission "java.util.logging.config.file", "read";
|
|
||||||
permission java.util.PropertyPermission "org.apache.juli.AsyncMaxRecordCount", "read";
|
|
||||||
permission java.util.PropertyPermission "org.apache.juli.AsyncOverflowDropType", "read";
|
|
||||||
permission java.util.PropertyPermission "org.apache.juli.ClassLoaderLogManager.debug", "read";
|
|
||||||
permission java.util.PropertyPermission "catalina.base", "read";
|
|
||||||
|
|
||||||
// Note: To enable per context logging configuration, permit read access to
|
|
||||||
// the appropriate file. Be sure that the logging configuration is
|
|
||||||
// secure before enabling such access.
|
|
||||||
// E.g. for the examples web application (uncomment and unwrap
|
|
||||||
// the following to be on a single line):
|
|
||||||
// permission java.io.FilePermission "${catalina.base}${file.separator}
|
|
||||||
// webapps${file.separator}examples${file.separator}WEB-INF
|
|
||||||
// ${file.separator}classes${file.separator}logging.properties", "read";
|
|
||||||
};
|
|
||||||
|
|
||||||
// These permissions apply to the server startup code
|
|
||||||
grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
|
|
||||||
permission java.security.AllPermission;
|
|
||||||
};
|
|
||||||
|
|
||||||
// These permissions apply to the servlet API classes
|
|
||||||
// and those that are shared across all class loaders
|
|
||||||
// located in the "lib" directory
|
|
||||||
grant codeBase "file:${catalina.home}/lib/-" {
|
|
||||||
permission java.security.AllPermission;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// If using a per instance lib directory, i.e. ${catalina.base}/lib,
|
|
||||||
// then the following permission will need to be uncommented
|
|
||||||
// grant codeBase "file:${catalina.base}/lib/-" {
|
|
||||||
// permission java.security.AllPermission;
|
|
||||||
// };
|
|
||||||
|
|
||||||
|
|
||||||
// ========== WEB APPLICATION PERMISSIONS =====================================
|
|
||||||
|
|
||||||
|
|
||||||
// These permissions are granted by default to all web applications
|
|
||||||
// In addition, a web application will be given a read FilePermission
|
|
||||||
// for all files and directories in its document root.
|
|
||||||
grant {
|
|
||||||
// Required for JNDI lookup of named JDBC DataSource's and
|
|
||||||
// javamail named MimePart DataSource used to send mail
|
|
||||||
permission java.util.PropertyPermission "java.home", "read";
|
|
||||||
permission java.util.PropertyPermission "java.naming.*", "read";
|
|
||||||
permission java.util.PropertyPermission "javax.sql.*", "read";
|
|
||||||
|
|
||||||
// OS Specific properties to allow read access
|
|
||||||
permission java.util.PropertyPermission "os.name", "read";
|
|
||||||
permission java.util.PropertyPermission "os.version", "read";
|
|
||||||
permission java.util.PropertyPermission "os.arch", "read";
|
|
||||||
permission java.util.PropertyPermission "file.separator", "read";
|
|
||||||
permission java.util.PropertyPermission "path.separator", "read";
|
|
||||||
permission java.util.PropertyPermission "line.separator", "read";
|
|
||||||
|
|
||||||
// JVM properties to allow read access
|
|
||||||
permission java.util.PropertyPermission "java.version", "read";
|
|
||||||
permission java.util.PropertyPermission "java.vendor", "read";
|
|
||||||
permission java.util.PropertyPermission "java.vendor.url", "read";
|
|
||||||
permission java.util.PropertyPermission "java.class.version", "read";
|
|
||||||
permission java.util.PropertyPermission "java.specification.version", "read";
|
|
||||||
permission java.util.PropertyPermission "java.specification.vendor", "read";
|
|
||||||
permission java.util.PropertyPermission "java.specification.name", "read";
|
|
||||||
|
|
||||||
permission java.util.PropertyPermission "java.vm.specification.version", "read";
|
|
||||||
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
|
|
||||||
permission java.util.PropertyPermission "java.vm.specification.name", "read";
|
|
||||||
permission java.util.PropertyPermission "java.vm.version", "read";
|
|
||||||
permission java.util.PropertyPermission "java.vm.vendor", "read";
|
|
||||||
permission java.util.PropertyPermission "java.vm.name", "read";
|
|
||||||
|
|
||||||
// Required for OpenJMX
|
|
||||||
permission java.lang.RuntimePermission "getAttribute";
|
|
||||||
|
|
||||||
// Allow read of JAXP compliant XML parser debug
|
|
||||||
permission java.util.PropertyPermission "jaxp.debug", "read";
|
|
||||||
|
|
||||||
// All JSPs need to be able to read this package
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat";
|
|
||||||
|
|
||||||
// Precompiled JSPs need access to these packages.
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.el";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
|
|
||||||
permission java.lang.RuntimePermission
|
|
||||||
"accessClassInPackage.org.apache.jasper.runtime.*";
|
|
||||||
|
|
||||||
// Applications using WebSocket need to be able to access these packages
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// The Manager application needs access to the following packages to support the
|
|
||||||
// session display functionality. It also requires the custom Tomcat
|
|
||||||
// DeployXmlPermission to enable the use of META-INF/context.xml
|
|
||||||
// These settings support the following configurations:
|
|
||||||
// - default CATALINA_HOME == CATALINA_BASE
|
|
||||||
// - CATALINA_HOME != CATALINA_BASE, per instance Manager in CATALINA_BASE
|
|
||||||
// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME
|
|
||||||
grant codeBase "file:${catalina.base}/webapps/manager/-" {
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util";
|
|
||||||
permission org.apache.catalina.security.DeployXmlPermission "manager";
|
|
||||||
};
|
|
||||||
grant codeBase "file:${catalina.home}/webapps/manager/-" {
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util";
|
|
||||||
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util";
|
|
||||||
permission org.apache.catalina.security.DeployXmlPermission "manager";
|
|
||||||
};
|
|
||||||
|
|
||||||
// The Host Manager application needs the custom Tomcat DeployXmlPermission to
|
|
||||||
// enable the use of META-INF/context.xml
|
|
||||||
// These settings support the following configurations:
|
|
||||||
// - default CATALINA_HOME == CATALINA_BASE
|
|
||||||
// - CATALINA_HOME != CATALINA_BASE, per instance Host Manager in CATALINA_BASE
|
|
||||||
// - CATALINA_HOME != CATALINA_BASE, shared Host Manager in CATALINA_HOME
|
|
||||||
grant codeBase "file:${catalina.base}/webapps/host-manager/-" {
|
|
||||||
permission org.apache.catalina.security.DeployXmlPermission "host-manager";
|
|
||||||
};
|
|
||||||
grant codeBase "file:${catalina.home}/webapps/host-manager/-" {
|
|
||||||
permission org.apache.catalina.security.DeployXmlPermission "host-manager";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// You can assign additional permissions to particular web applications by
|
|
||||||
// adding additional "grant" entries here, based on the code base for that
|
|
||||||
// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
|
|
||||||
//
|
|
||||||
// Different permissions can be granted to JSP pages, classes loaded from
|
|
||||||
// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
|
|
||||||
// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
|
|
||||||
//
|
|
||||||
// For instance, assume that the standard "examples" application
|
|
||||||
// included a JDBC driver that needed to establish a network connection to the
|
|
||||||
// corresponding database and used the scrape taglib to get the weather from
|
|
||||||
// the NOAA web server. You might create a "grant" entries like this:
|
|
||||||
//
|
|
||||||
// The permissions granted to the context root directory apply to JSP pages.
|
|
||||||
// grant codeBase "file:${catalina.base}/webapps/examples/-" {
|
|
||||||
// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
|
|
||||||
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// The permissions granted to the context WEB-INF/classes directory
|
|
||||||
// grant codeBase "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" {
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// The permission granted to your JDBC driver
|
|
||||||
// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
|
|
||||||
// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
|
|
||||||
// };
|
|
||||||
// The permission granted to the scrape taglib
|
|
||||||
// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
|
|
||||||
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
|
|
||||||
// };
|
|
||||||
|
|
||||||
// To grant permissions for web applications using packed WAR files, use the
|
|
||||||
// Tomcat specific WAR url scheme.
|
|
||||||
//
|
|
||||||
// The permissions granted to the entire web application
|
|
||||||
// grant codeBase "war:file:${catalina.base}/webapps/examples.war*/-" {
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// The permissions granted to a specific JAR
|
|
||||||
// grant codeBase "war:file:${catalina.base}/webapps/examples.war*/WEB-INF/lib/foo.jar" {
|
|
||||||
// };
|
|
@ -1,227 +0,0 @@
|
|||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
#
|
|
||||||
# List of comma-separated packages that start with or equal this string
|
|
||||||
# will cause a security exception to be thrown when
|
|
||||||
# passed to checkPackageAccess unless the
|
|
||||||
# corresponding RuntimePermission ("accessClassInPackage."+package) has
|
|
||||||
# been granted.
|
|
||||||
package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.tomcat.
|
|
||||||
#
|
|
||||||
# List of comma-separated packages that start with or equal this string
|
|
||||||
# will cause a security exception to be thrown when
|
|
||||||
# passed to checkPackageDefinition unless the
|
|
||||||
# corresponding RuntimePermission ("defineClassInPackage."+package) has
|
|
||||||
# been granted.
|
|
||||||
#
|
|
||||||
# by default, no packages are restricted for definition, and none of
|
|
||||||
# the class loaders supplied with the JDK call checkPackageDefinition.
|
|
||||||
#
|
|
||||||
package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,\
|
|
||||||
org.apache.jasper.,org.apache.naming.,org.apache.tomcat.
|
|
||||||
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# List of comma-separated paths defining the contents of the "common"
|
|
||||||
# classloader. Prefixes should be used to define what is the repository type.
|
|
||||||
# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
|
|
||||||
# If left as blank,the JVM system loader will be used as Catalina's "common"
|
|
||||||
# loader.
|
|
||||||
# Examples:
|
|
||||||
# "foo": Add this folder as a class repository
|
|
||||||
# "foo/*.jar": Add all the JARs of the specified folder as class
|
|
||||||
# repositories
|
|
||||||
# "foo/bar.jar": Add bar.jar as a class repository
|
|
||||||
#
|
|
||||||
# Note: Values are enclosed in double quotes ("...") in case either the
|
|
||||||
# ${catalina.base} path or the ${catalina.home} path contains a comma.
|
|
||||||
# Because double quotes are used for quoting, the double quote character
|
|
||||||
# may not appear in a path.
|
|
||||||
common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar"
|
|
||||||
|
|
||||||
#
|
|
||||||
# List of comma-separated paths defining the contents of the "server"
|
|
||||||
# classloader. Prefixes should be used to define what is the repository type.
|
|
||||||
# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
|
|
||||||
# If left as blank, the "common" loader will be used as Catalina's "server"
|
|
||||||
# loader.
|
|
||||||
# Examples:
|
|
||||||
# "foo": Add this folder as a class repository
|
|
||||||
# "foo/*.jar": Add all the JARs of the specified folder as class
|
|
||||||
# repositories
|
|
||||||
# "foo/bar.jar": Add bar.jar as a class repository
|
|
||||||
#
|
|
||||||
# Note: Values may be enclosed in double quotes ("...") in case either the
|
|
||||||
# ${catalina.base} path or the ${catalina.home} path contains a comma.
|
|
||||||
# Because double quotes are used for quoting, the double quote character
|
|
||||||
# may not appear in a path.
|
|
||||||
server.loader=
|
|
||||||
|
|
||||||
#
|
|
||||||
# List of comma-separated paths defining the contents of the "shared"
|
|
||||||
# classloader. Prefixes should be used to define what is the repository type.
|
|
||||||
# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
|
|
||||||
# the "common" loader will be used as Catalina's "shared" loader.
|
|
||||||
# Examples:
|
|
||||||
# "foo": Add this folder as a class repository
|
|
||||||
# "foo/*.jar": Add all the JARs of the specified folder as class
|
|
||||||
# repositories
|
|
||||||
# "foo/bar.jar": Add bar.jar as a class repository
|
|
||||||
# Please note that for single jars, e.g. bar.jar, you need the URL form
|
|
||||||
# starting with file:.
|
|
||||||
#
|
|
||||||
# Note: Values may be enclosed in double quotes ("...") in case either the
|
|
||||||
# ${catalina.base} path or the ${catalina.home} path contains a comma.
|
|
||||||
# Because double quotes are used for quoting, the double quote character
|
|
||||||
# may not appear in a path.
|
|
||||||
shared.loader=
|
|
||||||
|
|
||||||
# Default list of JAR files that should not be scanned using the JarScanner
|
|
||||||
# functionality. This is typically used to scan JARs for configuration
|
|
||||||
# information. JARs that do not contain such information may be excluded from
|
|
||||||
# the scan to speed up the scanning process. This is the default list. JARs on
|
|
||||||
# this list are excluded from all scans. The list must be a comma separated list
|
|
||||||
# of JAR file names.
|
|
||||||
# The list of JARs to skip may be over-ridden at a Context level for individual
|
|
||||||
# scan types by configuring a JarScanner with a nested JarScanFilter.
|
|
||||||
# The JARs listed below include:
|
|
||||||
# - Tomcat Bootstrap JARs
|
|
||||||
# - Tomcat API JARs
|
|
||||||
# - Catalina JARs
|
|
||||||
# - Jasper JARs
|
|
||||||
# - Tomcat JARs
|
|
||||||
# - Common non-Tomcat JARs
|
|
||||||
# - Test JARs (JUnit, Cobertura and dependencies)
|
|
||||||
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
|
|
||||||
annotations-api.jar,\
|
|
||||||
ant-junit*.jar,\
|
|
||||||
ant-launcher*.jar,\
|
|
||||||
ant*.jar,\
|
|
||||||
asm-*.jar,\
|
|
||||||
aspectj*.jar,\
|
|
||||||
bcel*.jar,\
|
|
||||||
biz.aQute.bnd*.jar,\
|
|
||||||
bootstrap.jar,\
|
|
||||||
catalina-ant.jar,\
|
|
||||||
catalina-ha.jar,\
|
|
||||||
catalina-jmx-remote.jar,\
|
|
||||||
catalina-storeconfig.jar,\
|
|
||||||
catalina-tribes.jar,\
|
|
||||||
catalina-ws.jar,\
|
|
||||||
catalina.jar,\
|
|
||||||
cglib-*.jar,\
|
|
||||||
cobertura-*.jar,\
|
|
||||||
commons-beanutils*.jar,\
|
|
||||||
commons-codec*.jar,\
|
|
||||||
commons-collections*.jar,\
|
|
||||||
commons-compress*.jar,\
|
|
||||||
commons-daemon.jar,\
|
|
||||||
commons-dbcp*.jar,\
|
|
||||||
commons-digester*.jar,\
|
|
||||||
commons-fileupload*.jar,\
|
|
||||||
commons-httpclient*.jar,\
|
|
||||||
commons-io*.jar,\
|
|
||||||
commons-lang*.jar,\
|
|
||||||
commons-logging*.jar,\
|
|
||||||
commons-math*.jar,\
|
|
||||||
commons-pool*.jar,\
|
|
||||||
derby-*.jar,\
|
|
||||||
dom4j-*.jar,\
|
|
||||||
easymock-*.jar,\
|
|
||||||
ecj-*.jar,\
|
|
||||||
el-api.jar,\
|
|
||||||
geronimo-spec-jaxrpc*.jar,\
|
|
||||||
h2*.jar,\
|
|
||||||
ha-api-*.jar,\
|
|
||||||
hamcrest-*.jar,\
|
|
||||||
hibernate*.jar,\
|
|
||||||
httpclient*.jar,\
|
|
||||||
icu4j-*.jar,\
|
|
||||||
jasper-el.jar,\
|
|
||||||
jasper.jar,\
|
|
||||||
jaspic-api.jar,\
|
|
||||||
jaxb-*.jar,\
|
|
||||||
jaxen-*.jar,\
|
|
||||||
jaxws-rt-*.jar,\
|
|
||||||
jdom-*.jar,\
|
|
||||||
jetty-*.jar,\
|
|
||||||
jmx-tools.jar,\
|
|
||||||
jmx.jar,\
|
|
||||||
jsp-api.jar,\
|
|
||||||
jstl.jar,\
|
|
||||||
jta*.jar,\
|
|
||||||
junit-*.jar,\
|
|
||||||
junit.jar,\
|
|
||||||
log4j*.jar,\
|
|
||||||
mail*.jar,\
|
|
||||||
objenesis-*.jar,\
|
|
||||||
oraclepki.jar,\
|
|
||||||
org.hamcrest.core_*.jar,\
|
|
||||||
org.junit_*.jar,\
|
|
||||||
oro-*.jar,\
|
|
||||||
servlet-api-*.jar,\
|
|
||||||
servlet-api.jar,\
|
|
||||||
slf4j*.jar,\
|
|
||||||
taglibs-standard-spec-*.jar,\
|
|
||||||
tagsoup-*.jar,\
|
|
||||||
tomcat-api.jar,\
|
|
||||||
tomcat-coyote.jar,\
|
|
||||||
tomcat-dbcp.jar,\
|
|
||||||
tomcat-i18n-*.jar,\
|
|
||||||
tomcat-jdbc.jar,\
|
|
||||||
tomcat-jni.jar,\
|
|
||||||
tomcat-juli-adapters.jar,\
|
|
||||||
tomcat-juli.jar,\
|
|
||||||
tomcat-util-scan.jar,\
|
|
||||||
tomcat-util.jar,\
|
|
||||||
tomcat-websocket.jar,\
|
|
||||||
tools.jar,\
|
|
||||||
unboundid-ldapsdk-*.jar,\
|
|
||||||
websocket-api.jar,\
|
|
||||||
wsdl4j*.jar,\
|
|
||||||
xercesImpl.jar,\
|
|
||||||
xml-apis.jar,\
|
|
||||||
xmlParserAPIs-*.jar,\
|
|
||||||
xmlParserAPIs.jar,\
|
|
||||||
xom-*.jar
|
|
||||||
|
|
||||||
# Default list of JAR files that should be scanned that overrides the default
|
|
||||||
# jarsToSkip list above. This is typically used to include a specific JAR that
|
|
||||||
# has been excluded by a broad file name pattern in the jarsToSkip list.
|
|
||||||
# The list of JARs to scan may be over-ridden at a Context level for individual
|
|
||||||
# scan types by configuring a JarScanner with a nested JarScanFilter.
|
|
||||||
tomcat.util.scan.StandardJarScanFilter.jarsToScan=\
|
|
||||||
log4j-taglib*.jar,\
|
|
||||||
log4j-web*.jar,\
|
|
||||||
log4javascript*.jar,\
|
|
||||||
slf4j-taglib*.jar
|
|
||||||
|
|
||||||
# String cache configuration.
|
|
||||||
tomcat.util.buf.StringCache.byte.enabled=true
|
|
||||||
#tomcat.util.buf.StringCache.char.enabled=true
|
|
||||||
#tomcat.util.buf.StringCache.trainThreshold=500000
|
|
||||||
#tomcat.util.buf.StringCache.cacheSize=5000
|
|
||||||
|
|
||||||
# This system property is deprecated. Use the relaxedPathChars relaxedQueryChars
|
|
||||||
# attributes of the Connector instead. These attributes permit a wider range of
|
|
||||||
# characters to be configured as valid.
|
|
||||||
# Allow for changes to HTTP request validation
|
|
||||||
# WARNING: Using this option may expose the server to CVE-2016-6816
|
|
||||||
#tomcat.util.http.parser.HttpParser.requestTargetAllow=|
|
|
||||||
|
|
||||||
# Disable use of some privilege blocks Tomcat doesn't need since calls to the
|
|
||||||
# code in question are always already inside a privilege block
|
|
||||||
org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED=false
|
|
@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<!-- The contents of this file will be loaded for each web application -->
|
|
||||||
<Context>
|
|
||||||
|
|
||||||
<!-- Default set of monitored resources. If one of these changes, the -->
|
|
||||||
<!-- web application will be reloaded. -->
|
|
||||||
<WatchedResource>WEB-INF/web.xml</WatchedResource>
|
|
||||||
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
|
|
||||||
|
|
||||||
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
|
|
||||||
<!--
|
|
||||||
<Manager pathname="" />
|
|
||||||
-->
|
|
||||||
</Context>
|
|
@ -1,23 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<jaspic-providers xmlns="http://tomcat.apache.org/xml"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://tomcat.apache.org/xml jaspic-providers.xsd"
|
|
||||||
version="1.0">
|
|
||||||
<!-- No JASPIC providers configured by default -->
|
|
||||||
</jaspic-providers>
|
|
@ -1,53 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
|
|
||||||
targetNamespace="http://tomcat.apache.org/xml"
|
|
||||||
xmlns:jaspic="http://tomcat.apache.org/xml"
|
|
||||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
||||||
elementFormDefault="qualified"
|
|
||||||
attributeFormDefault="unqualified"
|
|
||||||
version="1.0">
|
|
||||||
<xs:element name="jaspic-providers">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="provider" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="property" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute name="name" use="required" type="jaspic:propertyname" />
|
|
||||||
<xs:attribute name="value" use="required" type="xs:string" />
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute name="className" type="xs:string" />
|
|
||||||
<xs:attribute name="layer" type="xs:string" />
|
|
||||||
<xs:attribute name="appContext" type="xs:string" />
|
|
||||||
<xs:attribute name="description" type="xs:string" />
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute name="version" type="xs:string" />
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:simpleType name="propertyname">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:schema>
|
|
@ -1,75 +0,0 @@
|
|||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
|
||||||
# this work for additional information regarding copyright ownership.
|
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
# (the "License"); you may not use this file except in compliance with
|
|
||||||
# the License. You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
|
|
||||||
|
|
||||||
.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
|
|
||||||
|
|
||||||
############################################################
|
|
||||||
# Handler specific properties.
|
|
||||||
# Describes specific configuration info for Handlers.
|
|
||||||
############################################################
|
|
||||||
|
|
||||||
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
|
|
||||||
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
|
|
||||||
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
|
|
||||||
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
|
|
||||||
|
|
||||||
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
|
|
||||||
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
|
|
||||||
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
|
|
||||||
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8
|
|
||||||
|
|
||||||
3manager.org.apache.juli.AsyncFileHandler.level = FINE
|
|
||||||
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
|
|
||||||
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
|
|
||||||
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
|
|
||||||
|
|
||||||
4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
|
|
||||||
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
|
|
||||||
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
|
|
||||||
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
|
|
||||||
|
|
||||||
java.util.logging.ConsoleHandler.level = FINE
|
|
||||||
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
|
|
||||||
java.util.logging.ConsoleHandler.encoding = UTF-8
|
|
||||||
|
|
||||||
|
|
||||||
############################################################
|
|
||||||
# Facility specific properties.
|
|
||||||
# Provides extra control for each logger.
|
|
||||||
############################################################
|
|
||||||
|
|
||||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
|
|
||||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler
|
|
||||||
|
|
||||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
|
|
||||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler
|
|
||||||
|
|
||||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
|
|
||||||
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler
|
|
||||||
|
|
||||||
# For example, set the org.apache.catalina.util.LifecycleBase logger to log
|
|
||||||
# each component that extends LifecycleBase changing state:
|
|
||||||
#org.apache.catalina.util.LifecycleBase.level = FINE
|
|
||||||
|
|
||||||
# To see debug messages in TldLocationsCache, uncomment the following line:
|
|
||||||
#org.apache.jasper.compiler.TldLocationsCache.level = FINE
|
|
||||||
|
|
||||||
# To see debug messages for HTTP/2 handling, uncomment the following line:
|
|
||||||
#org.apache.coyote.http2.level = FINE
|
|
||||||
|
|
||||||
# To see debug messages for WebSocket handling, uncomment the following line:
|
|
||||||
#org.apache.tomcat.websocket.level = FINE
|
|
@ -1,180 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<!-- Note: A "Server" is not itself a "Container", so you may not
|
|
||||||
define subcomponents such as "Valves" at this level.
|
|
||||||
Documentation at /docs/config/server.html
|
|
||||||
-->
|
|
||||||
<Server port="8005" shutdown="SHUTDOWN">
|
|
||||||
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
|
|
||||||
<!-- Security listener. Documentation at /docs/config/listeners.html
|
|
||||||
<Listener className="org.apache.catalina.security.SecurityListener" />
|
|
||||||
-->
|
|
||||||
<!-- APR library loader. Documentation at /docs/apr.html -->
|
|
||||||
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
|
|
||||||
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
|
|
||||||
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
|
|
||||||
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
|
|
||||||
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
|
|
||||||
|
|
||||||
<!-- Global JNDI resources
|
|
||||||
Documentation at /docs/jndi-resources-howto.html
|
|
||||||
-->
|
|
||||||
<GlobalNamingResources>
|
|
||||||
<!-- Editable user database that can also be used by
|
|
||||||
UserDatabaseRealm to authenticate users
|
|
||||||
-->
|
|
||||||
<Resource name="UserDatabase" auth="Container"
|
|
||||||
type="org.apache.catalina.UserDatabase"
|
|
||||||
description="User database that can be updated and saved"
|
|
||||||
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
|
|
||||||
pathname="conf/tomcat-users.xml" />
|
|
||||||
</GlobalNamingResources>
|
|
||||||
|
|
||||||
<!-- A "Service" is a collection of one or more "Connectors" that share
|
|
||||||
a single "Container" Note: A "Service" is not itself a "Container",
|
|
||||||
so you may not define subcomponents such as "Valves" at this level.
|
|
||||||
Documentation at /docs/config/service.html
|
|
||||||
-->
|
|
||||||
<Service name="Catalina">
|
|
||||||
|
|
||||||
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
|
|
||||||
<!--
|
|
||||||
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
|
|
||||||
maxThreads="150" minSpareThreads="4"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- A "Connector" represents an endpoint by which requests are received
|
|
||||||
and responses are returned. Documentation at :
|
|
||||||
Java HTTP Connector: /docs/config/http.html
|
|
||||||
Java AJP Connector: /docs/config/ajp.html
|
|
||||||
APR (HTTP/AJP) Connector: /docs/apr.html
|
|
||||||
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
|
|
||||||
-->
|
|
||||||
<Connector port="8080" protocol="HTTP/1.1"
|
|
||||||
connectionTimeout="20000"
|
|
||||||
redirectPort="8443"
|
|
||||||
maxParameterCount="1000"
|
|
||||||
/>
|
|
||||||
<!-- A "Connector" using the shared thread pool-->
|
|
||||||
<!--
|
|
||||||
<Connector executor="tomcatThreadPool"
|
|
||||||
port="8080" protocol="HTTP/1.1"
|
|
||||||
connectionTimeout="20000"
|
|
||||||
redirectPort="8443"
|
|
||||||
maxParameterCount="1000"
|
|
||||||
/>
|
|
||||||
-->
|
|
||||||
<!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443
|
|
||||||
This connector uses the NIO implementation. The default
|
|
||||||
SSLImplementation will depend on the presence of the APR/native
|
|
||||||
library and the useOpenSSL attribute of the AprLifecycleListener.
|
|
||||||
Either JSSE or OpenSSL style configuration may be used regardless of
|
|
||||||
the SSLImplementation selected. JSSE style configuration is used below.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
|
|
||||||
maxThreads="150" SSLEnabled="true"
|
|
||||||
maxParameterCount="1000"
|
|
||||||
>
|
|
||||||
<SSLHostConfig>
|
|
||||||
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
|
|
||||||
type="RSA" />
|
|
||||||
</SSLHostConfig>
|
|
||||||
</Connector>
|
|
||||||
-->
|
|
||||||
<!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
|
|
||||||
This connector uses the APR/native implementation which always uses
|
|
||||||
OpenSSL for TLS.
|
|
||||||
Either JSSE or OpenSSL style configuration may be used. OpenSSL style
|
|
||||||
configuration is used below.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
|
|
||||||
maxThreads="150" SSLEnabled="true"
|
|
||||||
maxParameterCount="1000"
|
|
||||||
>
|
|
||||||
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
|
|
||||||
<SSLHostConfig>
|
|
||||||
<Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
|
|
||||||
certificateFile="conf/localhost-rsa-cert.pem"
|
|
||||||
certificateChainFile="conf/localhost-rsa-chain.pem"
|
|
||||||
type="RSA" />
|
|
||||||
</SSLHostConfig>
|
|
||||||
</Connector>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Define an AJP 1.3 Connector on port 8009 -->
|
|
||||||
<!--
|
|
||||||
<Connector protocol="AJP/1.3"
|
|
||||||
address="::1"
|
|
||||||
port="8009"
|
|
||||||
redirectPort="8443"
|
|
||||||
maxParameterCount="1000"
|
|
||||||
/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- An Engine represents the entry point (within Catalina) that processes
|
|
||||||
every request. The Engine implementation for Tomcat stand alone
|
|
||||||
analyzes the HTTP headers included with the request, and passes them
|
|
||||||
on to the appropriate Host (virtual host).
|
|
||||||
Documentation at /docs/config/engine.html -->
|
|
||||||
|
|
||||||
<!-- You should set jvmRoute to support load-balancing via AJP ie :
|
|
||||||
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
|
|
||||||
-->
|
|
||||||
<Engine name="Catalina" defaultHost="localhost">
|
|
||||||
|
|
||||||
<!--For clustering, please take a look at documentation at:
|
|
||||||
/docs/cluster-howto.html (simple how to)
|
|
||||||
/docs/config/cluster.html (reference documentation) -->
|
|
||||||
<!--
|
|
||||||
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
|
|
||||||
via a brute-force attack -->
|
|
||||||
<Realm className="org.apache.catalina.realm.LockOutRealm">
|
|
||||||
<!-- This Realm uses the UserDatabase configured in the global JNDI
|
|
||||||
resources under the key "UserDatabase". Any edits
|
|
||||||
that are performed against this UserDatabase are immediately
|
|
||||||
available for use by the Realm. -->
|
|
||||||
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
|
||||||
resourceName="UserDatabase"/>
|
|
||||||
</Realm>
|
|
||||||
|
|
||||||
<Host name="localhost" appBase="webapps"
|
|
||||||
unpackWARs="true" autoDeploy="true">
|
|
||||||
|
|
||||||
<!-- SingleSignOn valve, share authentication between web applications
|
|
||||||
Documentation at: /docs/config/valve.html -->
|
|
||||||
<!--
|
|
||||||
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Access log processes all example.
|
|
||||||
Documentation at: /docs/config/valve.html
|
|
||||||
Note: The pattern used is equivalent to using pattern="common" -->
|
|
||||||
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
|
|
||||||
prefix="localhost_access_log" suffix=".txt"
|
|
||||||
pattern="%h %l %u %t "%r" %s %b" />
|
|
||||||
|
|
||||||
</Host>
|
|
||||||
</Engine>
|
|
||||||
</Service>
|
|
||||||
</Server>
|
|
@ -1,56 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<tomcat-users xmlns="http://tomcat.apache.org/xml"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
|
|
||||||
version="1.0">
|
|
||||||
<!--
|
|
||||||
By default, no user is included in the "manager-gui" role required
|
|
||||||
to operate the "/manager/html" web application. If you wish to use this app,
|
|
||||||
you must define such a user - the username and password are arbitrary.
|
|
||||||
|
|
||||||
Built-in Tomcat manager roles:
|
|
||||||
- manager-gui - allows access to the HTML GUI and the status pages
|
|
||||||
- manager-script - allows access to the HTTP API and the status pages
|
|
||||||
- manager-jmx - allows access to the JMX proxy and the status pages
|
|
||||||
- manager-status - allows access to the status pages only
|
|
||||||
|
|
||||||
The users below are wrapped in a comment and are therefore ignored. If you
|
|
||||||
wish to configure one or more of these users for use with the manager web
|
|
||||||
application, do not forget to remove the <!.. ..> that surrounds them. You
|
|
||||||
will also need to set the passwords to something appropriate.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<user username="admin" password="<must-be-changed>" roles="manager-gui"/>
|
|
||||||
<user username="robot" password="<must-be-changed>" roles="manager-script"/>
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
The sample user and role entries below are intended for use with the
|
|
||||||
examples web application. They are wrapped in a comment and thus are ignored
|
|
||||||
when reading this file. If you wish to configure these users for use with the
|
|
||||||
examples web application, do not forget to remove the <!.. ..> that surrounds
|
|
||||||
them. You will also need to set the passwords to something appropriate.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<role rolename="tomcat"/>
|
|
||||||
<role rolename="role1"/>
|
|
||||||
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
|
|
||||||
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
|
|
||||||
<user username="role1" password="<must-be-changed>" roles="role1"/>
|
|
||||||
-->
|
|
||||||
</tomcat-users>
|
|
@ -1,59 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
|
|
||||||
targetNamespace="http://tomcat.apache.org/xml"
|
|
||||||
xmlns:users="http://tomcat.apache.org/xml"
|
|
||||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
||||||
elementFormDefault="qualified"
|
|
||||||
attributeFormDefault="unqualified"
|
|
||||||
version="1.0">
|
|
||||||
<xs:element name="tomcat-users">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:element name="role">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute name="rolename" use="required" type="users:entityname" />
|
|
||||||
<xs:attribute name="description" type="xs:string" />
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="group">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute name="groupname" use="required" type="users:entityname" />
|
|
||||||
<xs:attribute name="description" type="xs:string" />
|
|
||||||
<xs:attribute name="roles" type="xs:string" />
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="user">
|
|
||||||
<xs:complexType>
|
|
||||||
<xs:attribute name="username" use="required" type="users:entityname" />
|
|
||||||
<xs:attribute name="fullname" type="xs:string" />
|
|
||||||
<xs:attribute name="password" type="xs:string" />
|
|
||||||
<xs:attribute name="roles" type="xs:string" />
|
|
||||||
<xs:attribute name="groups" type="xs:string" />
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:choice>
|
|
||||||
<xs:attribute name="version" type="xs:string" />
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:simpleType name="entityname">
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1"/>
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:schema>
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,178 +0,0 @@
|
|||||||
================================================================================
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
|
|
||||||
Apache Tomcat Version 8.5.88
|
|
||||||
Release Notes
|
|
||||||
|
|
||||||
|
|
||||||
=========
|
|
||||||
CONTENTS:
|
|
||||||
=========
|
|
||||||
|
|
||||||
* Dependency Changes
|
|
||||||
* API Stability
|
|
||||||
* Bundled APIs
|
|
||||||
* Web application reloading and static fields in shared libraries
|
|
||||||
* Security manager URLs
|
|
||||||
* Symlinking static resources
|
|
||||||
* Viewing the Tomcat Change Log
|
|
||||||
* Cryptographic software notice
|
|
||||||
* When all else fails
|
|
||||||
|
|
||||||
|
|
||||||
===================
|
|
||||||
Dependency Changes:
|
|
||||||
===================
|
|
||||||
Tomcat 8.5 is designed to run on Java 7 and later.
|
|
||||||
|
|
||||||
|
|
||||||
==============
|
|
||||||
API Stability:
|
|
||||||
==============
|
|
||||||
|
|
||||||
The public interfaces for the following classes are fixed and will not be
|
|
||||||
changed at all during the remaining lifetime of the 8.x series:
|
|
||||||
- All classes in the javax namespace
|
|
||||||
|
|
||||||
The public interfaces for the following classes may be added to in order to
|
|
||||||
resolve bugs and/or add new features. No existing interface method will be
|
|
||||||
removed or changed although it may be deprecated.
|
|
||||||
- org.apache.catalina.* (excluding sub-packages)
|
|
||||||
|
|
||||||
Note: As Tomcat 8 matures, the above list will be added to. The list is not
|
|
||||||
considered complete at this time.
|
|
||||||
|
|
||||||
Note: A large number of deprecated methods, fields and configuration options
|
|
||||||
were removed in the transition from 8.0.x to 8.5.x. If any of those
|
|
||||||
removals triggers significant problems for the user community that the
|
|
||||||
deletion may be reverted in a later point release.
|
|
||||||
|
|
||||||
The remaining classes are considered part of the Tomcat internals and may change
|
|
||||||
without notice between point releases.
|
|
||||||
|
|
||||||
|
|
||||||
=============
|
|
||||||
Bundled APIs:
|
|
||||||
=============
|
|
||||||
A standard installation of Tomcat 8.5 makes all of the following APIs available
|
|
||||||
for use by web applications (by placing them in "lib"):
|
|
||||||
* annotations-api.jar (Annotations package)
|
|
||||||
* catalina.jar (Tomcat Catalina implementation)
|
|
||||||
* catalina-ant.jar (Tomcat Catalina Ant tasks)
|
|
||||||
* catalina-ha.jar (High availability package)
|
|
||||||
* catalina-storeconfig.jar (Generation of XML configuration from current state)
|
|
||||||
* catalina-tribes.jar (Group communication)
|
|
||||||
* ecj-4.6.3.jar (Eclipse JDT Java compiler)
|
|
||||||
* el-api.jar (EL 3.0 API)
|
|
||||||
* jasper.jar (Jasper 2 Compiler and Runtime)
|
|
||||||
* jasper-el.jar (Jasper 2 EL implementation)
|
|
||||||
* jsp-api.jar (JSP 2.3 API)
|
|
||||||
* servlet-api.jar (Servlet 3.1 API)
|
|
||||||
* tomcat-api.jar (Interfaces shared by Catalina and Jasper)
|
|
||||||
* tomcat-coyote.jar (Tomcat connectors and utility classes)
|
|
||||||
* tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP 2)
|
|
||||||
* tomcat-jdbc.jar (Tomcat's database connection pooling solution)
|
|
||||||
* tomcat-jni.jar (Interface to the native component of the APR/native connector)
|
|
||||||
* tomcat-util.jar (Various utilities)
|
|
||||||
* tomcat-websocket.jar (WebSocket 1.1 implementation)
|
|
||||||
* websocket-api.jar (WebSocket 1.1 API)
|
|
||||||
|
|
||||||
You can make additional APIs available to all of your web applications by
|
|
||||||
putting unpacked classes into a "classes" directory (not created by default),
|
|
||||||
or by placing them in JAR files in the "lib" directory.
|
|
||||||
|
|
||||||
To override the XML parser implementation or interfaces, use the appropriate
|
|
||||||
feature for your JVM. For Java <= 8 use the endorsed standards override
|
|
||||||
feature. The default configuration defines JARs located in "endorsed" as endorsed.
|
|
||||||
For Java 9+ use the upgradeable modules feature.
|
|
||||||
|
|
||||||
|
|
||||||
================================================================
|
|
||||||
Web application reloading and static fields in shared libraries:
|
|
||||||
================================================================
|
|
||||||
Some shared libraries (many are part of the JDK) keep references to objects
|
|
||||||
instantiated by the web application. To avoid class loading related problems
|
|
||||||
(ClassCastExceptions, messages indicating that the classloader
|
|
||||||
is stopped, etc.), the shared libraries state should be reinitialized.
|
|
||||||
|
|
||||||
Something which might help is to avoid putting classes which would be
|
|
||||||
referenced by a shared static field in the web application classloader,
|
|
||||||
and putting them in the shared classloader instead (JARs should be put in the
|
|
||||||
"lib" folder, and classes should be put in the "classes" folder).
|
|
||||||
|
|
||||||
|
|
||||||
======================
|
|
||||||
Security manager URLs:
|
|
||||||
======================
|
|
||||||
In order to grant security permissions to JARs located inside the
|
|
||||||
web application repository, use URLs of the following format
|
|
||||||
in your policy file:
|
|
||||||
|
|
||||||
file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar
|
|
||||||
|
|
||||||
|
|
||||||
============================
|
|
||||||
Symlinking static resources:
|
|
||||||
============================
|
|
||||||
By default, Unix symlinks will not work when used in a web application to link
|
|
||||||
resources located outside the web application root directory.
|
|
||||||
|
|
||||||
This behavior is optional, and the "allowLinking" flag may be used to deactivate
|
|
||||||
the check.
|
|
||||||
|
|
||||||
|
|
||||||
==============================
|
|
||||||
Viewing the Tomcat Change Log:
|
|
||||||
==============================
|
|
||||||
The full change log is available from https://tomcat.apache.org and is also
|
|
||||||
included in the documentation web application.
|
|
||||||
|
|
||||||
|
|
||||||
=============================
|
|
||||||
Cryptographic software notice
|
|
||||||
=============================
|
|
||||||
This distribution includes cryptographic software. The country in
|
|
||||||
which you currently reside may have restrictions on the import,
|
|
||||||
possession, use, and/or re-export to another country, of
|
|
||||||
encryption software. BEFORE using any encryption software, please
|
|
||||||
check your country's laws, regulations and policies concerning the
|
|
||||||
import, possession, or use, and re-export of encryption software, to
|
|
||||||
see if this is permitted. See <http://www.wassenaar.org/> for more
|
|
||||||
information.
|
|
||||||
|
|
||||||
The U.S. Government Department of Commerce, Bureau of Industry and
|
|
||||||
Security (BIS), has classified this software as Export Commodity
|
|
||||||
Control Number (ECCN) 5D002.C.1, which includes information security
|
|
||||||
software using or performing cryptographic functions with asymmetric
|
|
||||||
algorithms. The form and manner of this Apache Software Foundation
|
|
||||||
distribution makes it eligible for export under the License Exception
|
|
||||||
ENC Technology Software Unrestricted (TSU) exception (see the BIS
|
|
||||||
Export Administration Regulations, Section 740.13) for both object
|
|
||||||
code and source code.
|
|
||||||
|
|
||||||
The following provides more details on the included cryptographic
|
|
||||||
software:
|
|
||||||
- Tomcat includes code designed to work with JSSE
|
|
||||||
- Tomcat includes code designed to work with OpenSSL
|
|
||||||
|
|
||||||
|
|
||||||
====================
|
|
||||||
When all else fails:
|
|
||||||
====================
|
|
||||||
See the FAQ
|
|
||||||
https://tomcat.apache.org/faq/
|
|
@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
|
|
||||||
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
|
|
||||||
version="3.1"
|
|
||||||
metadata-complete="true">
|
|
||||||
|
|
||||||
<display-name>Welcome to Tomcat</display-name>
|
|
||||||
<description>
|
|
||||||
Welcome to Tomcat
|
|
||||||
</description>
|
|
||||||
|
|
||||||
</web-app>
|
|
@ -1,295 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
||||||
<svg version="1.1" id="Apache_Logo_Horizontal" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
x="0px" y="0px" viewBox="0 0 9835 1713.9" enable-background="new 0 0 9835 1713.9" xml:space="preserve">
|
|
||||||
<path fill="#6D6E71" d="M1069.6,296.4v92.2h-11.8v-92.2h-33.7V285h79.4v11.4H1069.6z"/>
|
|
||||||
<path fill="#6D6E71" d="M1234.8,388.5V343h-62.4v45.6h-11.8V285h11.8v46.8h62.4V285h11.8v103.6H1234.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M1329.2,296.4v34h52.2v11.4h-52.2v35.5h60.4v11.3h-72.2V285h70.3v11.4H1329.2z"/>
|
|
||||||
<path fill="#D22128" d="M933.7,1098.5l247.5-591.6h47.5l247.5,591.6h-62.5l-76.7-185h-265.8l-75.8,185H933.7z M1205.4,575.2
|
|
||||||
l-121.7,292.5h240L1205.4,575.2z"/>
|
|
||||||
<path fill="#D22128" d="M1540.1,1098.5V506.9h245c101.7,0,175,94.2,175,185.8c0,96.7-68.3,187.5-170,187.5h-192.5v218.3H1540.1z
|
|
||||||
M1597.6,828.5h189.1c70,0,115-64.2,115-135.8c0-74.2-55-134.2-120-134.2h-184.1V828.5z"/>
|
|
||||||
<path fill="#D22128" d="M1927.7,1098.5l247.5-591.6h47.5l247.5,591.6h-62.5l-76.7-185h-265.8l-75.8,185H1927.7z M2199.3,575.2
|
|
||||||
l-121.7,292.5h240L2199.3,575.2z"/>
|
|
||||||
<path fill="#D22128" d="M2750.1,503.6c105,0,181.6,53.3,218.3,129.2l-46.7,28.3c-37.5-78.3-110.8-105-175-105
|
|
||||||
c-141.7,0-219.1,126.7-219.1,245.8c0,130.8,95.8,249.1,221.6,249.1c66.7,0,145-33.3,182.5-110l48.3,25
|
|
||||||
c-38.3,88.3-143.3,137.5-234.1,137.5c-162.5,0-276.6-155-276.6-305C2469.3,656,2571.7,503.6,2750.1,503.6z"/>
|
|
||||||
<path fill="#D22128" d="M3528,506.9v591.6h-58.3V821.9h-350.8v276.6h-57.5V506.9h57.5v263.3h350.8V506.9H3528z"/>
|
|
||||||
<path fill="#D22128" d="M4059.1,1046.8v51.7h-397.5V506.9h390v51.7h-332.5v213.3h290V821h-290v225.8H4059.1z"/>
|
|
||||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-4229.6655" y1="-4143.6401" x2="-3987.5886" y2="-3860.573" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0" style="stop-color:#F69923"/>
|
|
||||||
<stop offset="0.3123" style="stop-color:#F79A23"/>
|
|
||||||
<stop offset="0.8383" style="stop-color:#E97826"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_1_)" d="M729.5,8.1C702.6,24,657.9,68.9,604.6,134l49,92.5c34.4-49.2,69.3-93.4,104.5-131.2
|
|
||||||
c2.7-3,4.1-4.4,4.1-4.4c-1.4,1.5-2.7,3-4.1,4.4c-11.4,12.6-46,52.9-98.2,133.1c50.2-2.5,127.5-12.8,190.4-23.5
|
|
||||||
c18.7-105-18.4-153-18.4-153S784.8-24.6,729.5,8.1z"/>
|
|
||||||
<path fill="none" d="M646.5,535.5c0.4-0.1,0.7-0.1,1.1-0.2l-7.1,0.8c-0.4,0.2-0.8,0.4-1.2,0.6C641.7,536.3,644.1,535.9,646.5,535.5z
|
|
||||||
"/>
|
|
||||||
<path fill="none" d="M596.5,701.1c-4,0.9-8.1,1.6-12.3,2.2C588.4,702.7,592.5,702,596.5,701.1z"/>
|
|
||||||
<path fill="none" d="M256.7,1072.7c0.5-1.4,1-2.8,1.6-4.1c10.8-28.5,21.5-56.1,32-83.1c11.9-30.2,23.6-59.5,35.2-87.9
|
|
||||||
c12.2-29.9,24.3-58.8,36.1-86.8c12.5-29.3,24.7-57.5,36.8-84.7c9.8-22.1,19.5-43.5,29-64.2c3.2-6.9,6.3-13.7,9.5-20.5
|
|
||||||
c6.2-13.4,12.4-26.6,18.5-39.4c5.6-11.9,11.2-23.5,16.8-34.9c1.8-3.8,3.7-7.6,5.5-11.3c0.3-0.6,0.6-1.2,0.9-1.8l-6,0.7l-4.8-9.4
|
|
||||||
c-0.5,0.9-0.9,1.8-1.4,2.7c-8.6,17.1-17.1,34.3-25.6,51.7c-4.9,10-9.7,20.1-14.6,30.3c-13.4,28.1-26.5,56.5-39.5,85
|
|
||||||
c-13.1,28.8-25.9,57.8-38.5,86.9c-12.4,28.5-24.5,57.1-36.3,85.5c-11.8,28.4-23.4,56.8-34.7,84.9c-11.8,29.4-23.3,58.5-34.4,87.3
|
|
||||||
c-2.5,6.5-5,13-7.5,19.4c-8.9,23.2-17.6,46.2-26.1,68.8l7.5,14.9l6.7-0.7c0.2-0.7,0.5-1.4,0.7-2
|
|
||||||
C235.2,1129.9,246,1100.9,256.7,1072.7z"/>
|
|
||||||
<path fill="none" d="M581.2,703.8L581.2,703.8C581.2,703.8,581.2,703.8,581.2,703.8C581.2,703.8,581.2,703.8,581.2,703.8z"/>
|
|
||||||
<path fill="#BE202E" d="M564.9,784.6c-6.3,1.1-12.7,2.2-19.3,3.4c0,0-0.1,0-0.1,0.1c3.3-0.5,6.6-1,9.9-1.6
|
|
||||||
C558.6,785.9,561.8,785.3,564.9,784.6z"/>
|
|
||||||
<path opacity="0.35" fill="#BE202E" d="M564.9,784.6c-6.3,1.1-12.7,2.2-19.3,3.4c0,0-0.1,0-0.1,0.1c3.3-0.5,6.6-1,9.9-1.6
|
|
||||||
C558.6,785.9,561.8,785.3,564.9,784.6z"/>
|
|
||||||
<path fill="#BE202E" d="M581.3,703.7C581.3,703.8,581.3,703.8,581.3,703.7c-0.1,0-0.1,0.1-0.1,0.1c1-0.1,2.1-0.3,3.1-0.5
|
|
||||||
c4.2-0.6,8.3-1.3,12.3-2.2C591.6,702,586.5,702.9,581.3,703.7L581.3,703.7L581.3,703.7z"/>
|
|
||||||
<path opacity="0.35" fill="#BE202E" d="M581.3,703.7C581.3,703.8,581.3,703.8,581.3,703.7c-0.1,0-0.1,0.1-0.1,0.1
|
|
||||||
c1-0.1,2.1-0.3,3.1-0.5c4.2-0.6,8.3-1.3,12.3-2.2C591.6,702,586.5,702.9,581.3,703.7L581.3,703.7L581.3,703.7z"/>
|
|
||||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-6021.2769" y1="-4174.8843" x2="-4294.1865" y2="-4174.8843" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0.3233" style="stop-color:#9E2064"/>
|
|
||||||
<stop offset="0.6302" style="stop-color:#C92037"/>
|
|
||||||
<stop offset="0.7514" style="stop-color:#CD2335"/>
|
|
||||||
<stop offset="1" style="stop-color:#E97826"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_2_)" d="M509.2,465.4c14.9-27.8,30-55,45.2-81.5c15.8-27.5,31.8-54.2,48-79.9c1-1.5,1.9-3.1,2.9-4.6
|
|
||||||
c16-25.3,32.1-49.6,48.4-72.9l-49-92.5c-3.7,4.5-7.4,9.1-11.1,13.7c-14.1,17.6-28.8,36.5-43.8,56.6c-17,22.6-34.4,46.8-52.1,72.2
|
|
||||||
c-16.3,23.4-32.9,48-49.5,73.4c-14.1,21.6-28.3,43.9-42.4,66.7c-0.5,0.8-1,1.7-1.6,2.6l63.7,125.9
|
|
||||||
C481.4,518.1,495.2,491.5,509.2,465.4z"/>
|
|
||||||
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-5812.7939" y1="-4001.6594" x2="-4783.6157" y2="-4001.6594" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0" style="stop-color:#282662"/>
|
|
||||||
<stop offset="9.548390e-02" style="stop-color:#662E8D"/>
|
|
||||||
<stop offset="0.7882" style="stop-color:#9F2064"/>
|
|
||||||
<stop offset="0.9487" style="stop-color:#CD2032"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_3_)" d="M218.8,1174.8c-8.4,23.2-16.9,46.8-25.4,70.9c-0.1,0.4-0.2,0.7-0.4,1.1c-1.2,3.4-2.4,6.8-3.6,10.2
|
|
||||||
c-5.7,16.3-10.7,30.9-22.1,64.2c18.8,8.6,33.9,31.1,48.1,56.7c-1.5-26.5-12.5-51.4-33.3-70.7c92.6,4.2,172.4-19.2,213.6-86.9
|
|
||||||
c3.7-6,7.1-12.4,10.1-19.1c-18.8,23.8-42,33.8-85.7,31.4c-0.1,0-0.2,0.1-0.3,0.1c0.1,0,0.2-0.1,0.3-0.1
|
|
||||||
c64.4-28.8,96.7-56.5,125.3-102.3c6.8-10.9,13.3-22.7,20.1-35.9c-56.3,57.8-121.6,74.3-190.3,61.8l-51.6,5.7
|
|
||||||
C222,1166.1,220.4,1170.4,218.8,1174.8z"/>
|
|
||||||
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-5924.2744" y1="-4190.9775" x2="-4197.1841" y2="-4190.9775" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0.3233" style="stop-color:#9E2064"/>
|
|
||||||
<stop offset="0.6302" style="stop-color:#C92037"/>
|
|
||||||
<stop offset="0.7514" style="stop-color:#CD2335"/>
|
|
||||||
<stop offset="1" style="stop-color:#E97826"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_4_)" d="M242.9,1059.3c11.1-28.8,22.6-57.9,34.4-87.3c11.3-28.1,22.9-56.5,34.7-84.9
|
|
||||||
c11.8-28.5,24-57,36.3-85.5c12.6-29,25.4-58,38.5-86.9c12.9-28.5,26.1-56.9,39.5-85c4.8-10.1,9.7-20.2,14.6-30.3
|
|
||||||
c8.4-17.4,17-34.6,25.6-51.7c0.5-0.9,0.9-1.8,1.4-2.7l-63.7-125.9c-1,1.7-2.1,3.4-3.1,5.1c-14.9,24.3-29.6,49.1-44.1,74.4
|
|
||||||
c-14.7,25.6-29.1,51.7-43.1,78.1c-11.9,22.3-23.5,44.8-34.7,67.5c-2.3,4.6-4.5,9.2-6.7,13.7c-13.9,28.6-26.4,56.2-37.8,82.8
|
|
||||||
c-12.9,30.1-24.2,58.8-34.1,86.1c-6.5,17.9-12.5,35.2-17.9,51.9c-4.5,14.2-8.7,28.4-12.7,42.6c-9.5,33.4-17.7,66.7-24.5,99.8
|
|
||||||
l64,126.4c8.5-22.6,17.1-45.6,26.1-68.8C237.9,1072.3,240.4,1065.8,242.9,1059.3z"/>
|
|
||||||
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-5798.3159" y1="-4167.6108" x2="-4890.6782" y2="-4167.6108" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0" style="stop-color:#282662"/>
|
|
||||||
<stop offset="9.548390e-02" style="stop-color:#662E8D"/>
|
|
||||||
<stop offset="0.7882" style="stop-color:#9F2064"/>
|
|
||||||
<stop offset="0.9487" style="stop-color:#CD2032"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_5_)" d="M144.4,1025.6c-8,40.5-13.8,80.8-16.6,120.8c-0.1,1.4-0.2,2.8-0.3,4.2c-20-32-73.5-63.3-73.4-63
|
|
||||||
c38.3,55.5,67.4,110.7,71.7,164.8c-20.5,4.2-48.6-1.9-81.1-13.8c33.9,31.1,59.3,39.7,69.2,42c-31.1,1.9-63.5,23.3-96.1,47.9
|
|
||||||
c47.7-19.5,86.3-27.2,113.9-20.9c-43.8,124-87.7,260.9-131.6,406.2c13.5-4,21.5-13,26-25.3c7.8-26.3,59.8-199,141.2-425.9
|
|
||||||
c2.3-6.5,4.6-12.9,7-19.5c0.7-1.8,1.3-3.6,2-5.4c8.6-23.8,17.5-48.1,26.7-72.9c2.1-5.6,4.2-11.3,6.3-17c0-0.1,0.1-0.2,0.1-0.3
|
|
||||||
l-64-126.4C145,1022.6,144.7,1024.1,144.4,1025.6z"/>
|
|
||||||
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-5924.2744" y1="-4012.23" x2="-4197.1841" y2="-4012.23" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0.3233" style="stop-color:#9E2064"/>
|
|
||||||
<stop offset="0.6302" style="stop-color:#C92037"/>
|
|
||||||
<stop offset="0.7514" style="stop-color:#CD2335"/>
|
|
||||||
<stop offset="1" style="stop-color:#E97826"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_6_)" d="M477.7,555.7c-1.8,3.7-3.7,7.5-5.5,11.3c-5.5,11.4-11.1,23-16.8,34.9c-6.1,12.8-12.3,26-18.5,39.4
|
|
||||||
c-3.1,6.8-6.3,13.6-9.5,20.5c-9.5,20.7-19.2,42.1-29,64.2c-12.1,27.2-24.3,55.4-36.8,84.7c-11.9,27.9-23.9,56.8-36.1,86.8
|
|
||||||
c-11.6,28.4-23.3,57.7-35.2,87.9c-10.6,27-21.3,54.6-32,83.1c-0.5,1.4-1,2.8-1.6,4.1c-10.7,28.3-21.5,57.3-32.4,87
|
|
||||||
c-0.2,0.7-0.5,1.4-0.7,2l51.6-5.7c-1-0.2-2-0.3-3.1-0.5c61.6-7.7,143.6-53.7,196.5-110.6c24.4-26.2,46.5-57.1,67-93.3
|
|
||||||
c15.2-26.9,29.6-56.8,43.2-89.8c11.9-28.9,23.3-60.1,34.4-94c-14.2,7.5-30.4,12.9-48.3,16.7c-3.1,0.7-6.3,1.3-9.6,1.9
|
|
||||||
c-3.2,0.6-6.5,1.1-9.9,1.6l0,0l0,0c0,0,0.1,0,0.1-0.1c57.5-22.1,93.7-64.8,120.1-117.1c-15.1,10.3-39.7,23.8-69.2,30.3
|
|
||||||
c-4,0.9-8.1,1.6-12.3,2.2c-1,0.1-2.1,0.3-3.1,0.5l0,0l0,0c0,0,0.1,0,0.1,0c0,0,0,0,0.1,0l0,0c19.9-8.3,36.8-17.7,51.4-28.7
|
|
||||||
c3.1-2.4,6.2-4.8,9.1-7.3c4.5-3.8,8.7-7.9,12.7-12.2c2.6-2.7,5.1-5.5,7.5-8.4c5.7-6.8,11.1-14.2,16.1-22.1c1.5-2.4,3-4.9,4.5-7.5
|
|
||||||
c1.9-3.7,3.7-7.3,5.5-10.8c8-16.1,14.5-30.5,19.6-43.2c2.6-6.3,4.8-12.2,6.7-17.6c0.8-2.2,1.5-4.3,2.2-6.3c2-6.1,3.7-11.5,5-16.2
|
|
||||||
c2-7.1,3.1-12.7,3.8-16.8l0,0l0,0c-1.9,1.5-4.2,3.1-6.7,4.6c-17.3,10.4-47.1,19.8-71.1,24.2l47.3-5.2l-47.3,5.2
|
|
||||||
c-0.4,0.1-0.7,0.1-1.1,0.2c-2.4,0.4-4.8,0.8-7.2,1.2c0.4-0.2,0.8-0.4,1.2-0.6l-161.9,17.7C478.3,554.5,478,555.1,477.7,555.7z"/>
|
|
||||||
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-6031.4116" y1="-4021.106" x2="-4304.3213" y2="-4021.106" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0.3233" style="stop-color:#9E2064"/>
|
|
||||||
<stop offset="0.6302" style="stop-color:#C92037"/>
|
|
||||||
<stop offset="0.7514" style="stop-color:#CD2335"/>
|
|
||||||
<stop offset="1" style="stop-color:#E97826"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_7_)" d="M660,228.4c-14.4,22.1-30.1,47.2-47.1,75.6c-0.9,1.5-1.8,3-2.7,4.5c-14.6,24.6-30.1,51.6-46.4,81.2
|
|
||||||
c-14.1,25.5-28.8,52.9-44,82.4c-13.3,25.7-27,52.9-41.1,81.7l161.9-17.7c47.2-21.7,68.3-41.3,88.7-69.7c5.4-7.8,10.9-16,16.3-24.5
|
|
||||||
c16.6-26,32.9-54.6,47.5-83c14.1-27.4,26.5-54.7,36-79.2c6.1-15.6,10.9-30.1,14.3-42.8c2.9-11.2,5.3-21.9,7.1-32.1
|
|
||||||
C787.5,215.6,710.2,225.9,660,228.4z"/>
|
|
||||||
<path fill="#BE202E" d="M555.4,786.4c-3.2,0.6-6.5,1.1-9.9,1.6l0,0C548.8,787.5,552.1,787,555.4,786.4z"/>
|
|
||||||
<path opacity="0.35" fill="#BE202E" d="M555.4,786.4c-3.2,0.6-6.5,1.1-9.9,1.6l0,0C548.8,787.5,552.1,787,555.4,786.4z"/>
|
|
||||||
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-5924.2744" y1="-3959.0669" x2="-4197.1841" y2="-3959.0669" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0.3233" style="stop-color:#9E2064"/>
|
|
||||||
<stop offset="0.6302" style="stop-color:#C92037"/>
|
|
||||||
<stop offset="0.7514" style="stop-color:#CD2335"/>
|
|
||||||
<stop offset="1" style="stop-color:#E97826"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_8_)" d="M555.4,786.4c-3.2,0.6-6.5,1.1-9.9,1.6l0,0C548.8,787.5,552.1,787,555.4,786.4z"/>
|
|
||||||
<path fill="#BE202E" d="M581.2,703.8c1-0.1,2.1-0.3,3.1-0.5C583.2,703.5,582.2,703.7,581.2,703.8L581.2,703.8z"/>
|
|
||||||
<path opacity="0.35" fill="#BE202E" d="M581.2,703.8c1-0.1,2.1-0.3,3.1-0.5C583.2,703.5,582.2,703.7,581.2,703.8L581.2,703.8z"/>
|
|
||||||
<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-5924.2744" y1="-3965.1499" x2="-4197.1841" y2="-3965.1499" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0.3233" style="stop-color:#9E2064"/>
|
|
||||||
<stop offset="0.6302" style="stop-color:#C92037"/>
|
|
||||||
<stop offset="0.7514" style="stop-color:#CD2335"/>
|
|
||||||
<stop offset="1" style="stop-color:#E97826"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_9_)" d="M581.2,703.8c1-0.1,2.1-0.3,3.1-0.5C583.2,703.5,582.2,703.7,581.2,703.8L581.2,703.8z"/>
|
|
||||||
<path fill="#BE202E" d="M581.3,703.8C581.3,703.8,581.3,703.8,581.3,703.8L581.3,703.8L581.3,703.8L581.3,703.8
|
|
||||||
C581.3,703.8,581.3,703.8,581.3,703.8z"/>
|
|
||||||
<path opacity="0.35" fill="#BE202E" d="M581.3,703.8C581.3,703.8,581.3,703.8,581.3,703.8L581.3,703.8L581.3,703.8L581.3,703.8
|
|
||||||
C581.3,703.8,581.3,703.8,581.3,703.8z"/>
|
|
||||||
<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-4954.02" y1="-3966.3701" x2="-4572.2764" y2="-3966.3701" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
|
|
||||||
<stop offset="0.3233" style="stop-color:#9E2064"/>
|
|
||||||
<stop offset="0.6302" style="stop-color:#C92037"/>
|
|
||||||
<stop offset="0.7514" style="stop-color:#CD2335"/>
|
|
||||||
<stop offset="1" style="stop-color:#E97826"/>
|
|
||||||
</linearGradient>
|
|
||||||
<path fill="url(#SVGID_10_)" d="M581.3,703.8C581.3,703.8,581.3,703.8,581.3,703.8L581.3,703.8L581.3,703.8L581.3,703.8
|
|
||||||
C581.3,703.8,581.3,703.8,581.3,703.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M4552.4,508.2c12,3.6,22.6,8.4,31.5,14.5l-10.5,23c-9.2-6.1-19-10.6-29.4-13.6c-10.4-3-20.3-4.5-29.7-4.5
|
|
||||||
c-13.8,0-24.9,2.5-33.2,7.5c-8.3,5-12.4,12-12.4,21.1c0,7.8,2.3,14.2,6.9,19.3c4.6,5.1,10.3,9,17.3,11.9c6.9,2.8,16.4,6.1,28.5,9.8
|
|
||||||
c14.6,4.7,26.4,9.1,35.3,13.1c8.9,4.1,16.5,10.1,22.9,18.1c6.3,8,9.5,18.5,9.5,31.5c0,11.9-3.2,22.2-9.6,31.1
|
|
||||||
c-6.4,8.9-15.5,15.7-27.3,20.6c-11.8,4.9-25.3,7.3-40.6,7.3c-15.3,0-30.2-3-44.7-8.9c-14.4-5.9-26.8-13.9-37.2-23.8l10.9-22
|
|
||||||
c9.8,9.6,21,17,33.8,22.3c12.8,5.3,25.3,7.9,37.4,7.9c15.5,0,27.8-3,36.8-9c9-6,13.4-14.1,13.4-24.3c0-8-2.3-14.5-7-19.7
|
|
||||||
c-4.7-5.2-10.5-9.2-17.4-12.1c-6.9-2.9-16.4-6.1-28.5-9.7c-14.4-4.3-26.2-8.4-35.2-12.4c-9-4-16.6-9.9-22.9-17.8
|
|
||||||
c-6.2-7.9-9.3-18.2-9.3-31.1c0-11.1,3.1-20.8,9.2-29.1c6.1-8.4,14.8-14.8,26.1-19.4c11.3-4.6,24.2-6.9,38.9-6.9
|
|
||||||
C4528.2,502.8,4540.3,504.6,4552.4,508.2z"/>
|
|
||||||
<path fill="#6D6E71" d="M4870.3,517.6c17.1,9.6,30.7,22.6,40.7,39.1c10,16.4,15,34.5,15,54.2c0,19.8-5,38-15,54.5
|
|
||||||
c-10,16.5-23.6,29.6-40.7,39.3c-17.1,9.7-35.9,14.5-56.2,14.5c-20.6,0-39.5-4.8-56.6-14.5c-17.1-9.7-30.7-22.8-40.7-39.3
|
|
||||||
c-10-16.5-15-34.7-15-54.5c0-19.8,5-38,15-54.5c10-16.5,23.6-29.5,40.7-39c17.1-9.5,36-14.3,56.6-14.3
|
|
||||||
C4834.4,503.1,4853.2,507.9,4870.3,517.6z M4770.5,537.8c-13.4,7.6-24,17.8-32,30.6c-8,12.9-12,27-12,42.4c0,15.5,4,29.8,12,42.7
|
|
||||||
c8,13,18.6,23.2,32,30.7c13.3,7.5,27.9,11.3,43.6,11.3c15.7,0,30.2-3.8,43.4-11.3c13.2-7.5,23.7-17.8,31.6-30.7
|
|
||||||
c7.9-12.9,11.8-27.2,11.8-42.7s-3.9-29.7-11.8-42.5c-7.9-12.8-18.4-23-31.7-30.6c-13.3-7.6-27.7-11.4-43.3-11.4
|
|
||||||
C4798.4,526.4,4783.8,530.2,4770.5,537.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M5080.3,527.3v75.3h100.1v23.6h-100.1V718h-24.5V503.7h136.1v23.6H5080.3z"/>
|
|
||||||
<path fill="#6D6E71" d="M5390.7,527.3V718h-24.5V527.3h-69.6v-23.6h164.2v23.6H5390.7z"/>
|
|
||||||
<path fill="#6D6E71" d="M5777.5,718l-57.8-180.5L5661.1,718h-25l-71.7-214.3h26.3l58.9,185.9l58.1-185.6l24.5-0.3l58.7,185.9
|
|
||||||
l58.1-185.9h25.4L5802.6,718H5777.5z"/>
|
|
||||||
<path fill="#6D6E71" d="M5996.7,663.9l-23.9,54.1h-26l96.1-214.3h25.4l95.8,214.3h-26.6l-23.9-54.1H5996.7z M6054.9,531.7
|
|
||||||
l-47.7,108.6h96.1L6054.9,531.7z"/>
|
|
||||||
<path fill="#6D6E71" d="M6377,649.7c-6.1,0.4-10.9,0.6-14.3,0.6h-56.9V718h-24.5V503.7h81.4c26.7,0,47.4,6.3,62.2,18.8
|
|
||||||
c14.8,12.6,22.2,30.3,22.2,53.2c0,17.5-4.1,32.2-12.4,44c-8.3,11.8-20.1,20.3-35.6,25.5l50.1,72.8h-27.8L6377,649.7z M6407.7,614
|
|
||||||
c10.5-8.6,15.8-21.1,15.8-37.7c0-16.1-5.3-28.3-15.8-36.6c-10.5-8.3-25.5-12.4-45.1-12.4h-56.9v99.5h56.9
|
|
||||||
C6382.2,626.9,6397.2,622.6,6407.7,614z"/>
|
|
||||||
<path fill="#6D6E71" d="M6608.2,527.3v70.4h108v23.6h-108v73.4h124.9V718h-149.4V503.7H6729v23.6H6608.2z"/>
|
|
||||||
<path fill="#6D6E71" d="M7074.8,527.3v75.3h100.1v23.6h-100.1V718h-24.5V503.7h136.1v23.6H7074.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M7457.7,517.6c17.1,9.6,30.7,22.6,40.7,39.1c10,16.4,15,34.5,15,54.2c0,19.8-5,38-15,54.5
|
|
||||||
c-10,16.5-23.6,29.6-40.7,39.3c-17.1,9.7-35.9,14.5-56.2,14.5c-20.6,0-39.5-4.8-56.6-14.5c-17.1-9.7-30.7-22.8-40.7-39.3
|
|
||||||
c-10-16.5-15-34.7-15-54.5c0-19.8,5-38,15-54.5c10-16.5,23.6-29.5,40.7-39c17.1-9.5,36-14.3,56.6-14.3
|
|
||||||
C7421.8,503.1,7440.5,507.9,7457.7,517.6z M7357.9,537.8c-13.4,7.6-24,17.8-32,30.6c-8,12.9-12,27-12,42.4c0,15.5,4,29.8,12,42.7
|
|
||||||
c8,13,18.6,23.2,32,30.7c13.3,7.5,27.9,11.3,43.6,11.3c15.7,0,30.2-3.8,43.4-11.3c13.2-7.5,23.7-17.8,31.6-30.7
|
|
||||||
c7.9-12.9,11.8-27.2,11.8-42.7s-3.9-29.7-11.8-42.5c-7.9-12.8-18.4-23-31.7-30.6c-13.3-7.6-27.7-11.4-43.3-11.4
|
|
||||||
C7385.7,526.4,7371.2,530.2,7357.9,537.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M7794.8,695.5c-15.9,15.8-37.9,23.7-65.9,23.7c-28.2,0-50.3-7.9-66.3-23.7c-16-15.8-24-37.7-24-65.7V503.7
|
|
||||||
h24.5v126.1c0,20.6,5.9,36.7,17.6,48.3c11.8,11.6,27.8,17.4,48.1,17.4c20.4,0,36.4-5.7,48-17.3c11.6-11.5,17.3-27.7,17.3-48.5V503.7
|
|
||||||
h24.5v126.1C7818.7,657.8,7810.7,679.7,7794.8,695.5z"/>
|
|
||||||
<path fill="#6D6E71" d="M8115.1,718l-128.5-172v172h-24.5V503.7h25.4L8116,676V503.7h24.2V718H8115.1z"/>
|
|
||||||
<path fill="#6D6E71" d="M8429.3,517.9c16.7,9.4,29.9,22.3,39.6,38.6c9.7,16.3,14.6,34.4,14.6,54.5s-4.9,38.2-14.6,54.5
|
|
||||||
c-9.7,16.3-23,29.2-40,38.6c-16.9,9.4-35.8,14-56.5,14h-85.8V503.7h86.7C8394,503.7,8412.6,508.4,8429.3,517.9z M8311.2,694.7h62.5
|
|
||||||
c15.7,0,30.1-3.6,43-10.8c12.9-7.2,23.2-17.2,30.7-30c7.5-12.7,11.3-27,11.3-42.7c0-15.7-3.8-30-11.5-42.7
|
|
||||||
c-7.7-12.7-18-22.7-31.1-30.1c-13.1-7.4-27.5-11.1-43.3-11.1h-61.6V694.7z"/>
|
|
||||||
<path fill="#6D6E71" d="M8622.8,663.9l-23.9,54.1h-26l96.1-214.3h25.4l95.8,214.3h-26.6l-23.9-54.1H8622.8z M8681,531.7l-47.7,108.6
|
|
||||||
h96.1L8681,531.7z"/>
|
|
||||||
<path fill="#6D6E71" d="M8950.8,527.3V718h-24.5V527.3h-69.6v-23.6h164.2v23.6H8950.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M9138.9,718V503.7h24.5V718H9138.9z"/>
|
|
||||||
<path fill="#6D6E71" d="M9462.2,517.6c17.1,9.6,30.7,22.6,40.7,39.1c10,16.4,15,34.5,15,54.2c0,19.8-5,38-15,54.5
|
|
||||||
c-10,16.5-23.6,29.6-40.7,39.3c-17.1,9.7-35.9,14.5-56.2,14.5c-20.6,0-39.5-4.8-56.6-14.5c-17.1-9.7-30.7-22.8-40.7-39.3
|
|
||||||
c-10-16.5-15-34.7-15-54.5c0-19.8,5-38,15-54.5c10-16.5,23.6-29.5,40.7-39c17.1-9.5,36-14.3,56.6-14.3
|
|
||||||
C9426.4,503.1,9445.1,507.9,9462.2,517.6z M9362.4,537.8c-13.4,7.6-24,17.8-32,30.6c-8,12.9-12,27-12,42.4c0,15.5,4,29.8,12,42.7
|
|
||||||
c8,13,18.6,23.2,32,30.7c13.3,7.5,27.9,11.3,43.6,11.3c15.7,0,30.2-3.8,43.4-11.3c13.2-7.5,23.7-17.8,31.6-30.7
|
|
||||||
c7.9-12.9,11.8-27.2,11.8-42.7s-3.9-29.7-11.8-42.5c-7.9-12.8-18.4-23-31.7-30.6c-13.3-7.6-27.7-11.4-43.3-11.4
|
|
||||||
C9390.3,526.4,9375.8,530.2,9362.4,537.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M9800.8,718l-128.5-172v172h-24.5V503.7h25.4L9801.7,676V503.7h24.2V718H9800.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M4204.9,500.9c9,9,13.5,19.9,13.5,32.6c0,12.7-4.5,23.6-13.5,32.7c-9,9.1-20,13.7-32.8,13.7
|
|
||||||
c-12.9,0-23.8-4.5-32.7-13.5c-8.9-9-13.4-19.9-13.4-32.6c0-12.7,4.5-23.6,13.5-32.7c9-9.1,19.9-13.7,32.7-13.7
|
|
||||||
C4185,487.4,4195.9,491.9,4204.9,500.9z M4201,562.4c7.9-8,11.8-17.6,11.8-28.8c0-11.2-3.9-20.7-11.7-28.6
|
|
||||||
c-7.8-7.9-17.4-11.9-28.7-11.9c-11.3,0-20.9,4-28.8,11.9c-7.8,8-11.8,17.6-11.8,28.8c0,11.2,3.9,20.8,11.6,28.7
|
|
||||||
c7.8,7.9,17.3,11.9,28.6,11.9S4193.1,570.4,4201,562.4z M4194.5,524.7c0,8.3-3.6,13.5-10.9,15.6l13.3,18h-10.7l-12-16.7h-11v16.7
|
|
||||||
h-8.7v-50h18.8c7.6,0,13,1.3,16.3,3.9C4192.9,514.8,4194.5,519,4194.5,524.7z M4183.4,531.7c1.7-1.4,2.6-3.8,2.6-7.1
|
|
||||||
c0-3.3-0.9-5.6-2.7-6.8c-1.8-1.3-4.9-1.9-9.5-1.9h-10.6v18h10.4C4178.4,533.9,4181.6,533.2,4183.4,531.7z"/>
|
|
||||||
<path fill="#6D6E71" d="M4540.6,918.2c21.1,0,37.7,6.1,49.6,18.4c11.9,12.3,17.9,29.2,17.9,50.8V1097h-26.3V994.4
|
|
||||||
c0-15.7-4.4-28-13.3-36.8s-21.2-13.2-36.9-13.2c-18.7,0.2-33.3,6.3-44,18.2c-10.7,11.9-16,27.5-16,46.9v87.4h-26.3V846.6h26.3V959
|
|
||||||
C4483.1,932.2,4506.2,918.6,4540.6,918.2z"/>
|
|
||||||
<path fill="#6D6E71" d="M4823.7,1063.6l7.4,21.3c-12.8,8.8-26.2,13.3-40.2,13.5c-13.7,0-24.7-4.2-32.9-12.7
|
|
||||||
c-8.2-8.4-12.3-21.1-12.3-38V946.2h-25.6v-21.3h25.6V878h26v46.9l56.3-0.3v21.6h-56.3v96.8c0,19.8,7.9,29.7,23.6,29.7
|
|
||||||
C4804.6,1072.7,4814,1069.6,4823.7,1063.6z"/>
|
|
||||||
<path fill="#6D6E71" d="M5027.8,1063.6l7.4,21.3c-12.8,8.8-26.2,13.3-40.2,13.5c-13.7,0-24.7-4.2-32.9-12.7
|
|
||||||
c-8.2-8.4-12.3-21.1-12.3-38V946.2h-25.6v-21.3h25.6V878h26v46.9l56.3-0.3v21.6h-56.3v96.8c0,19.8,7.9,29.7,23.6,29.7
|
|
||||||
C5008.7,1072.7,5018.1,1069.6,5027.8,1063.6z"/>
|
|
||||||
<path fill="#6D6E71" d="M5244.1,918.2c25.2,0,45.7,8.4,61.6,25.3c15.9,16.9,23.8,38.6,23.8,65.1c0,26.3-7.8,47.8-23.5,64.5
|
|
||||||
c-15.6,16.6-36,25-61.2,25c-32.2,0-55.2-13-69.2-39.1v103.6h-26.3V919.2h26.3v38.4C5189.5,931.3,5212.4,918.2,5244.1,918.2z
|
|
||||||
M5239.4,1074c18.4,0,33.6-6.2,45.5-18.6c11.9-12.3,17.9-28.2,17.9-47.6c0-19.1-6-34.9-17.9-47.4c-11.9-12.5-27.1-18.7-45.5-18.7
|
|
||||||
c-18.7,0-34,6.2-45.9,18.6c-11.9,12.4-17.9,28.2-17.9,47.6c0,19.3,6,35.2,17.9,47.6C5205.4,1067.8,5220.7,1074,5239.4,1074z"/>
|
|
||||||
<path fill="#6D6E71" d="M5449.9,964.4c4.5,0,8.3,1.7,11.5,5.1c3.2,3.4,4.7,7.5,4.7,12.5s-1.6,9.1-4.7,12.5c-3.2,3.4-7,5.1-11.5,5.1
|
|
||||||
c-4.7,0-8.7-1.7-11.8-5.1c-3.2-3.4-4.7-7.5-4.7-12.5s1.6-9.1,4.7-12.5C5441.2,966.1,5445.2,964.4,5449.9,964.4z M5449.9,1064.6
|
|
||||||
c4.5,0,8.3,1.7,11.5,5c3.2,3.4,4.7,7.5,4.7,12.5c0,4.9-1.6,9.1-4.7,12.5c-3.2,3.4-7,5.1-11.5,5.1c-4.7,0-8.7-1.7-11.8-5.1
|
|
||||||
c-3.2-3.4-4.7-7.5-4.7-12.5c0-4.9,1.6-9.1,4.7-12.5C5441.2,1066.3,5445.2,1064.6,5449.9,1064.6z"/>
|
|
||||||
<path fill="#6D6E71" d="M5574.1,1138.1h-22.9l105.3-317.8h23.3L5574.1,1138.1z"/>
|
|
||||||
<path fill="#6D6E71" d="M5753.6,1138.1h-22.9l105.3-317.8h23.3L5753.6,1138.1z"/>
|
|
||||||
<path fill="#6D6E71" d="M6140.5,1097h-27.3l-52.3-144.4l-52,144.4h-27.3l-66.5-177.8h27.7l52.6,150.5l51.6-150.5h27.7l52.3,150.5
|
|
||||||
l52-150.5h27.3L6140.5,1097z"/>
|
|
||||||
<path fill="#6D6E71" d="M6504.6,1097h-27.3L6425,952.6l-52,144.4h-27.3l-66.5-177.8h27.7l52.6,150.5l51.6-150.5h27.7l52.3,150.5
|
|
||||||
l52-150.5h27.3L6504.6,1097z"/>
|
|
||||||
<path fill="#6D6E71" d="M6868.6,1097h-27.3L6789,952.6l-52,144.4h-27.3l-66.5-177.8h27.7l52.6,150.5l51.6-150.5h27.7l52.3,150.5
|
|
||||||
l52-150.5h27.3L6868.6,1097z"/>
|
|
||||||
<path fill="#6D6E71" d="M7034.6,1064.6c4.5,0,8.3,1.7,11.5,5c3.2,3.4,4.7,7.5,4.7,12.5c0,4.9-1.6,9.1-4.7,12.5
|
|
||||||
c-3.2,3.4-7,5.1-11.5,5.1c-4.7,0-8.7-1.7-11.8-5.1c-3.2-3.4-4.7-7.5-4.7-12.5c0-4.9,1.6-9.1,4.7-12.5
|
|
||||||
C7026,1066.3,7029.9,1064.6,7034.6,1064.6z"/>
|
|
||||||
<path fill="#6D6E71" d="M7283,1097v-27.3c-14.2,19.1-35.9,28.7-65.1,28.7c-18,0-32.6-5.1-43.7-15.4c-11.1-10.2-16.7-23.2-16.7-39
|
|
||||||
c0-15.5,5.8-27.8,17.5-37c11.7-9.1,28-13.8,48.9-14h58.4v-10.5c0-13.3-4.1-23.5-12.1-30.7c-8.1-7.2-19.9-10.8-35.4-10.8
|
|
||||||
c-18,0-36.8,6.7-56.4,20.2l-11.1-19.2c12.6-8.3,24.2-14.4,34.9-18.2s23.2-5.7,37.6-5.7c21.8,0,38.6,5.4,50.4,16.2
|
|
||||||
c11.8,10.8,17.8,25.9,18.1,45.2l0.3,117.4H7283z M7222.9,1075.4c15.1,0,27.9-3.5,38.6-10.6c10.7-7.1,17.7-16.8,21.1-29.2v-21.3
|
|
||||||
h-55.3c-30.1,0-45.2,9.6-45.2,28.7c0,9.9,3.7,17.8,11.1,23.6C7200.6,1072.5,7210.5,1075.4,7222.9,1075.4z"/>
|
|
||||||
<path fill="#6D6E71" d="M7536.3,918.2c25.2,0,45.7,8.4,61.6,25.3c15.9,16.9,23.8,38.6,23.8,65.1c0,26.3-7.8,47.8-23.5,64.5
|
|
||||||
c-15.6,16.6-36,25-61.2,25c-32.2,0-55.2-13-69.2-39.1v103.6h-26.3V919.2h26.3v38.4C7481.8,931.3,7504.6,918.2,7536.3,918.2z
|
|
||||||
M7531.6,1074c18.4,0,33.6-6.2,45.5-18.6c11.9-12.3,17.9-28.2,17.9-47.6c0-19.1-6-34.9-17.9-47.4c-11.9-12.5-27.1-18.7-45.5-18.7
|
|
||||||
c-18.7,0-34,6.2-45.9,18.6c-11.9,12.4-17.9,28.2-17.9,47.6c0,19.3,6,35.2,17.9,47.6C7497.6,1067.8,7512.9,1074,7531.6,1074z"/>
|
|
||||||
<path fill="#6D6E71" d="M7850.8,1097v-27.3c-14.2,19.1-35.9,28.7-65.1,28.7c-18,0-32.6-5.1-43.7-15.4c-11.1-10.2-16.7-23.2-16.7-39
|
|
||||||
c0-15.5,5.8-27.8,17.5-37c11.7-9.1,28-13.8,48.9-14h58.4v-10.5c0-13.3-4.1-23.5-12.1-30.7c-8.1-7.2-19.9-10.8-35.4-10.8
|
|
||||||
c-18,0-36.8,6.7-56.4,20.2l-11.1-19.2c12.6-8.3,24.2-14.4,34.9-18.2c10.7-3.8,23.2-5.7,37.6-5.7c21.8,0,38.6,5.4,50.4,16.2
|
|
||||||
c11.8,10.8,17.8,25.9,18.1,45.2l0.3,117.4H7850.8z M7790.7,1075.4c15.1,0,27.9-3.5,38.6-10.6c10.7-7.1,17.7-16.8,21.1-29.2v-21.3
|
|
||||||
h-55.3c-30.2,0-45.2,9.6-45.2,28.7c0,9.9,3.7,17.8,11.1,23.6C7768.5,1072.5,7778.4,1075.4,7790.7,1075.4z"/>
|
|
||||||
<path fill="#6D6E71" d="M8077.8,918.5c28.6-0.2,51.4,8.5,68.5,26.3l-14.5,18.6c-14.4-13.7-32.1-20.6-53-20.6
|
|
||||||
c-18.4,0-33.6,6.1-45.4,18.2c-11.8,12.1-17.7,27.9-17.7,47.2s5.9,35.2,17.7,47.4c11.8,12.3,26.9,18.4,45.4,18.4
|
|
||||||
c23.8,0,42.2-7.6,55-22.9l15.2,16.2c-16.9,20.5-40.6,30.7-71.2,30.7c-25.9,0-47-8.3-63.4-25c-16.4-16.6-24.6-38.2-24.6-64.8
|
|
||||||
c0-26.3,8.3-47.9,24.8-64.6C8031.1,926.9,8052.2,918.5,8077.8,918.5z"/>
|
|
||||||
<path fill="#6D6E71" d="M8366.7,918.2c21.1,0,37.7,6.1,49.6,18.4c11.9,12.3,17.9,29.2,17.9,50.8V1097h-26.3V994.4
|
|
||||||
c0-15.7-4.4-28-13.3-36.8s-21.2-13.2-36.9-13.2c-18.7,0.2-33.3,6.3-44,18.2c-10.7,11.9-16,27.5-16,46.9v87.4h-26.3V846.6h26.3V959
|
|
||||||
C8309.2,932.2,8332.2,918.6,8366.7,918.2z"/>
|
|
||||||
<path fill="#6D6E71" d="M8635.6,918.5c28.1-0.2,49.3,8.7,63.6,26.6c14.3,18,20.8,42.4,19.4,73.2h-145.1c2.2,17.3,9.2,31.1,20.9,41.3
|
|
||||||
c11.7,10.2,26.2,15.4,43.5,15.4c22.5,0,40.8-7.4,55-22.3l14.5,15.5c-17.8,19.8-41.6,29.7-71.5,29.7c-26.1,0-47.4-8.3-63.8-25
|
|
||||||
c-16.4-16.6-24.6-38.2-24.6-64.8s8.2-48.1,24.6-64.8C8588.5,926.8,8609.7,918.5,8635.6,918.5z M8573.5,996.8H8695
|
|
||||||
c-0.9-17.1-6.7-30.7-17.4-40.7c-10.7-10-24.7-15-42-15c-16.9,0-30.9,5.1-42.2,15.2C8582.1,966.4,8575.5,979.9,8573.5,996.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M8838,1064.6c4.5,0,8.3,1.7,11.5,5c3.1,3.4,4.7,7.5,4.7,12.5c0,4.9-1.6,9.1-4.7,12.5
|
|
||||||
c-3.2,3.4-7,5.1-11.5,5.1c-4.7,0-8.7-1.7-11.8-5.1c-3.2-3.4-4.7-7.5-4.7-12.5c0-4.9,1.6-9.1,4.7-12.5
|
|
||||||
C8829.3,1066.3,8833.3,1064.6,8838,1064.6z"/>
|
|
||||||
<path fill="#6D6E71" d="M8983.4,943.5c16.9-16.6,38.5-25,64.8-25c26.3,0,47.9,8.3,64.8,25c16.9,16.6,25.3,38.1,25.3,64.5
|
|
||||||
c0,26.5-8.5,48.2-25.3,64.9c-16.9,16.8-38.5,25.1-64.8,25.1c-26.3,0-47.9-8.4-64.8-25.1c-16.9-16.8-25.3-38.4-25.3-64.9
|
|
||||||
C8958.1,981.6,8966.5,960.1,8983.4,943.5z M9094.1,960.8c-11.9-12.3-27.2-18.4-45.9-18.4c-18.7,0-34,6.1-45.9,18.4
|
|
||||||
c-11.9,12.3-17.9,28.1-17.9,47.4c0,19.6,6,35.5,17.9,47.7c11.9,12.3,27.2,18.4,45.9,18.4c18.7,0,34-6.1,45.9-18.4
|
|
||||||
c11.9-12.3,17.9-28.2,17.9-47.7C9111.9,988.9,9106,973.1,9094.1,960.8z"/>
|
|
||||||
<path fill="#6D6E71" d="M9283.3,919.2v39.5c12.2-26.5,33.4-40,63.8-40.5v26.7c-18.4-0.2-33.3,4.9-44.5,15.3
|
|
||||||
c-11.3,10.5-17.6,24.6-19.2,42.3v94.5H9257V919.2H9283.3z"/>
|
|
||||||
<path fill="#6D6E71" d="M9610,919.2v159.2c0,25.9-8.2,46.5-24.5,61.7c-16.3,15.3-38,22.9-64.9,22.9c-26.3-0.2-50.6-8.8-72.9-25.7
|
|
||||||
l12.1-20.2c17.8,14.8,37.7,22.4,59.7,22.6c19.4,0,34.9-5.5,46.6-16.5c11.7-11,17.5-25.7,17.5-44.2v-27c-13,24.7-34.9,37.1-65.4,37.1
|
|
||||||
c-23.9,0-43.3-8-58.4-24c-15.1-16-22.6-36.7-22.6-62.1c0-24.7,7.4-45,22.3-60.9c14.8-15.9,34.2-23.9,58-24.1
|
|
||||||
c30.6,0,52.6,12.4,66.1,37.1v-36.1H9610z M9479.2,1049.2c11.4,11.8,25.9,17.7,43.7,17.7s32.3-5.9,43.7-17.7c11.3-11.8,17-26.8,17-45
|
|
||||||
c0-18.4-5.7-33.6-17-45.4c-11.4-11.8-25.9-17.7-43.7-17.7s-32.3,5.9-43.7,17.7c-11.3,11.8-17.1,26.9-17.4,45.4
|
|
||||||
C9462.1,1022.4,9467.9,1037.4,9479.2,1049.2z"/>
|
|
||||||
<path fill="#6D6E71" d="M9729.4,1138.1h-22.9l105.3-317.8h23.3L9729.4,1138.1z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 713 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 21 KiB |
@ -1,219 +0,0 @@
|
|||||||
<%--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
--%>
|
|
||||||
<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
|
|
||||||
<%
|
|
||||||
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");
|
|
||||||
request.setAttribute("year", sdf.format(new java.util.Date()));
|
|
||||||
request.setAttribute("tomcatUrl", "https://tomcat.apache.org/");
|
|
||||||
request.setAttribute("tomcatDocUrl", "/docs/");
|
|
||||||
request.setAttribute("tomcatExamplesUrl", "/examples/");
|
|
||||||
%>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<title><%=request.getServletContext().getServerInfo() %></title>
|
|
||||||
<link href="favicon.ico" rel="icon" type="image/x-icon" />
|
|
||||||
<link href="tomcat.css" rel="stylesheet" type="text/css" />
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="wrapper">
|
|
||||||
<div id="navigation" class="curved container">
|
|
||||||
<span id="nav-home"><a href="${tomcatUrl}">Home</a></span>
|
|
||||||
<span id="nav-hosts"><a href="${tomcatDocUrl}">Documentation</a></span>
|
|
||||||
<span id="nav-config"><a href="${tomcatDocUrl}config/">Configuration</a></span>
|
|
||||||
<span id="nav-examples"><a href="${tomcatExamplesUrl}">Examples</a></span>
|
|
||||||
<span id="nav-wiki"><a href="https://cwiki.apache.org/confluence/display/TOMCAT/">Wiki</a></span>
|
|
||||||
<span id="nav-lists"><a href="${tomcatUrl}lists.html">Mailing Lists</a></span>
|
|
||||||
<span id="nav-help"><a href="${tomcatUrl}findhelp.html">Find Help</a></span>
|
|
||||||
<br class="separator" />
|
|
||||||
</div>
|
|
||||||
<div id="asf-box">
|
|
||||||
<h1>${pageContext.servletContext.serverInfo}</h1>
|
|
||||||
</div>
|
|
||||||
<div id="upper" class="curved container">
|
|
||||||
<div id="congrats" class="curved container">
|
|
||||||
<h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>
|
|
||||||
</div>
|
|
||||||
<div id="notice">
|
|
||||||
<img id="tomcat-logo" src="tomcat.svg" alt="[tomcat logo]" />
|
|
||||||
<div id="tasks">
|
|
||||||
<h3>Recommended Reading:</h3>
|
|
||||||
<h4><a href="${tomcatDocUrl}security-howto.html">Security Considerations How-To</a></h4>
|
|
||||||
<h4><a href="${tomcatDocUrl}manager-howto.html">Manager Application How-To</a></h4>
|
|
||||||
<h4><a href="${tomcatDocUrl}cluster-howto.html">Clustering/Session Replication How-To</a></h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="actions">
|
|
||||||
<div class="button">
|
|
||||||
<a class="container shadow" href="/manager/status"><span>Server Status</span></a>
|
|
||||||
</div>
|
|
||||||
<div class="button">
|
|
||||||
<a class="container shadow" href="/manager/html"><span>Manager App</span></a>
|
|
||||||
</div>
|
|
||||||
<div class="button">
|
|
||||||
<a class="container shadow" href="/host-manager/html"><span>Host Manager</span></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br class="separator" />
|
|
||||||
</div>
|
|
||||||
<div id="middle" class="curved container">
|
|
||||||
<h3>Developer Quick Start</h3>
|
|
||||||
<div class="col25">
|
|
||||||
<div class="container">
|
|
||||||
<p><a href="${tomcatDocUrl}setup.html">Tomcat Setup</a></p>
|
|
||||||
<p><a href="${tomcatDocUrl}appdev/">First Web Application</a></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col25">
|
|
||||||
<div class="container">
|
|
||||||
<p><a href="${tomcatDocUrl}realm-howto.html">Realms & AAA</a></p>
|
|
||||||
<p><a href="${tomcatDocUrl}jndi-datasource-examples-howto.html">JDBC DataSources</a></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col25">
|
|
||||||
<div class="container">
|
|
||||||
<p><a href="${tomcatExamplesUrl}">Examples</a></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col25">
|
|
||||||
<div class="container">
|
|
||||||
<p><a href="https://cwiki.apache.org/confluence/display/TOMCAT/Specifications">Servlet Specifications</a></p>
|
|
||||||
<p><a href="https://cwiki.apache.org/confluence/display/TOMCAT/Tomcat+Versions">Tomcat Versions</a></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br class="separator" />
|
|
||||||
</div>
|
|
||||||
<div id="lower">
|
|
||||||
<div id="low-manage" class="">
|
|
||||||
<div class="curved container">
|
|
||||||
<h3>Managing Tomcat</h3>
|
|
||||||
<p>For security, access to the <a href="/manager/html">manager webapp</a> is restricted.
|
|
||||||
Users are defined in:</p>
|
|
||||||
<pre>$CATALINA_HOME/conf/tomcat-users.xml</pre>
|
|
||||||
<p>In Tomcat 8.5 access to the manager application is split between
|
|
||||||
different users. <a href="${tomcatDocUrl}manager-howto.html">Read more...</a></p>
|
|
||||||
<br />
|
|
||||||
<h4><a href="${tomcatDocUrl}RELEASE-NOTES.txt">Release Notes</a></h4>
|
|
||||||
<h4><a href="${tomcatDocUrl}changelog.html">Changelog</a></h4>
|
|
||||||
<h4><a href="${tomcatUrl}migration.html">Migration Guide</a></h4>
|
|
||||||
<h4><a href="${tomcatUrl}security.html">Security Notices</a></h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="low-docs" class="">
|
|
||||||
<div class="curved container">
|
|
||||||
<h3>Documentation</h3>
|
|
||||||
<h4><a href="${tomcatDocUrl}">Tomcat 8.5 Documentation</a></h4>
|
|
||||||
<h4><a href="${tomcatDocUrl}config/">Tomcat 8.5 Configuration</a></h4>
|
|
||||||
<h4><a href="https://cwiki.apache.org/confluence/display/TOMCAT/">Tomcat Wiki</a></h4>
|
|
||||||
<p>Find additional important configuration information in:</p>
|
|
||||||
<pre>$CATALINA_HOME/RUNNING.txt</pre>
|
|
||||||
<p>Developers may be interested in:</p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://tomcat.apache.org/bugreport.html">Tomcat 8.5 Bug Database</a></li>
|
|
||||||
<li><a href="${tomcatDocUrl}api/index.html">Tomcat 8.5 JavaDocs</a></li>
|
|
||||||
<li><a href="https://github.com/apache/tomcat/tree/8.5.x">Tomcat 8.5 Git Repository at GitHub</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="low-help" class="">
|
|
||||||
<div class="curved container">
|
|
||||||
<h3>Getting Help</h3>
|
|
||||||
<h4><a href="${tomcatUrl}faq/">FAQ</a> and <a href="${tomcatUrl}lists.html">Mailing Lists</a></h4>
|
|
||||||
<p>The following mailing lists are available:</p>
|
|
||||||
<ul>
|
|
||||||
<li id="list-announce"><strong><a href="${tomcatUrl}lists.html#tomcat-announce">tomcat-announce</a><br />
|
|
||||||
Important announcements, releases, security vulnerability notifications. (Low volume).</strong>
|
|
||||||
</li>
|
|
||||||
<li><a href="${tomcatUrl}lists.html#tomcat-users">tomcat-users</a><br />
|
|
||||||
User support and discussion
|
|
||||||
</li>
|
|
||||||
<li><a href="${tomcatUrl}lists.html#taglibs-user">taglibs-user</a><br />
|
|
||||||
User support and discussion for <a href="${tomcatUrl}taglibs/">Apache Taglibs</a>
|
|
||||||
</li>
|
|
||||||
<li><a href="${tomcatUrl}lists.html#tomcat-dev">tomcat-dev</a><br />
|
|
||||||
Development mailing list, including commit messages
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br class="separator" />
|
|
||||||
</div>
|
|
||||||
<div id="footer" class="curved container">
|
|
||||||
<div class="col20">
|
|
||||||
<div class="container">
|
|
||||||
<h4>Other Downloads</h4>
|
|
||||||
<ul>
|
|
||||||
<li><a href="${tomcatUrl}download-connectors.cgi">Tomcat Connectors</a></li>
|
|
||||||
<li><a href="${tomcatUrl}download-native.cgi">Tomcat Native</a></li>
|
|
||||||
<li><a href="${tomcatUrl}taglibs/">Taglibs</a></li>
|
|
||||||
<li><a href="${tomcatDocUrl}deployer-howto.html">Deployer</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col20">
|
|
||||||
<div class="container">
|
|
||||||
<h4>Other Documentation</h4>
|
|
||||||
<ul>
|
|
||||||
<li><a href="${tomcatUrl}connectors-doc/">Tomcat Connectors</a></li>
|
|
||||||
<li><a href="${tomcatUrl}connectors-doc/">mod_jk Documentation</a></li>
|
|
||||||
<li><a href="${tomcatUrl}native-doc/">Tomcat Native</a></li>
|
|
||||||
<li><a href="${tomcatDocUrl}deployer-howto.html">Deployer</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col20">
|
|
||||||
<div class="container">
|
|
||||||
<h4>Get Involved</h4>
|
|
||||||
<ul>
|
|
||||||
<li><a href="${tomcatUrl}getinvolved.html">Overview</a></li>
|
|
||||||
<li><a href="${tomcatUrl}source.html">Source Repositories</a></li>
|
|
||||||
<li><a href="${tomcatUrl}lists.html">Mailing Lists</a></li>
|
|
||||||
<li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/">Wiki</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col20">
|
|
||||||
<div class="container">
|
|
||||||
<h4>Miscellaneous</h4>
|
|
||||||
<ul>
|
|
||||||
<li><a href="${tomcatUrl}contact.html">Contact</a></li>
|
|
||||||
<li><a href="${tomcatUrl}legal.html">Legal</a></li>
|
|
||||||
<li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
|
|
||||||
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col20">
|
|
||||||
<div class="container">
|
|
||||||
<h4>Apache Software Foundation</h4>
|
|
||||||
<ul>
|
|
||||||
<li><a href="${tomcatUrl}whoweare.html">Who We Are</a></li>
|
|
||||||
<li><a href="${tomcatUrl}heritage.html">Heritage</a></li>
|
|
||||||
<li><a href="https://www.apache.org">Apache Home</a></li>
|
|
||||||
<li><a href="${tomcatUrl}resources.html">Resources</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br class="separator" />
|
|
||||||
</div>
|
|
||||||
<p class="copyright">Copyright ©1999-${year} Apache Software Foundation. All Rights Reserved</p>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -1,354 +0,0 @@
|
|||||||
/*
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
body {
|
|
||||||
margin: 10px 20px;
|
|
||||||
text-align: center;
|
|
||||||
font-family: Arial, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6, p, ul, ol {
|
|
||||||
margin: 0 0 0.5em;
|
|
||||||
}
|
|
||||||
h1 {
|
|
||||||
font-size: 18pt;
|
|
||||||
margin: 0.5em 0 0;
|
|
||||||
}
|
|
||||||
h2 {
|
|
||||||
font-size: 16pt;
|
|
||||||
}
|
|
||||||
h3 {
|
|
||||||
font-size: 13pt;
|
|
||||||
}
|
|
||||||
h4 {
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
h5 {
|
|
||||||
font-size: 11pt;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
font-size: 11pt
|
|
||||||
}
|
|
||||||
|
|
||||||
ul {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0 0 0 0.25em;
|
|
||||||
text-indent: 0;
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
li {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0 0 0.25em;
|
|
||||||
text-indent: 0;
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
text-indent: 0.25em;
|
|
||||||
width: 90%;
|
|
||||||
font-size: 90%;
|
|
||||||
}
|
|
||||||
|
|
||||||
br.separator {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
a img {
|
|
||||||
border: 0 none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
|
||||||
padding: 10px;
|
|
||||||
margin: 0 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.col20 {
|
|
||||||
float: left;
|
|
||||||
width: 20%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.col25 {
|
|
||||||
float: left;
|
|
||||||
width: 25%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#wrapper {
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
text-align: left;
|
|
||||||
min-width: 720px;
|
|
||||||
max-width: 1000px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.curved {
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#tomcat-logo {
|
|
||||||
width: 150px;
|
|
||||||
height: 106px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#navigation {
|
|
||||||
background: #eee url(bg-nav.png) repeat-x top left;
|
|
||||||
margin: 0 0 10px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
#navigation span {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
#navigation span a {
|
|
||||||
display: block;
|
|
||||||
padding: 10px;
|
|
||||||
font-weight: bold;
|
|
||||||
text-shadow: 1px 1px 1px #fff;
|
|
||||||
}
|
|
||||||
#navigation span a:link,
|
|
||||||
#navigation span a:visited,
|
|
||||||
#navigation span a:hover,
|
|
||||||
#navigation span a:active {
|
|
||||||
color: #666;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
#navigation span#nav-help {
|
|
||||||
float: right;
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#asf-box {
|
|
||||||
height: 40px;
|
|
||||||
background: #fff url(asf-logo-wide.svg) no-repeat top right;}
|
|
||||||
#asf-box h1 {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#upper {
|
|
||||||
background: #fff url(bg-upper.png) repeat-x top left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#congrats {
|
|
||||||
text-align: center;
|
|
||||||
padding: 10px;
|
|
||||||
margin: 0 40px 20px;
|
|
||||||
background-color: #9c9;
|
|
||||||
}
|
|
||||||
#congrats h2 {
|
|
||||||
font-size: 14pt;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#notice {
|
|
||||||
float: left;
|
|
||||||
width: 560px;
|
|
||||||
color: #696;
|
|
||||||
}
|
|
||||||
#notice a:link,
|
|
||||||
#notice a:visited,
|
|
||||||
#notice a:hover,
|
|
||||||
#notice a:active {
|
|
||||||
color: #090;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
#notice img,
|
|
||||||
#notice #tasks {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
#tasks a:link,
|
|
||||||
#tasks a:visited,
|
|
||||||
#tasks a:hover,
|
|
||||||
#tasks a:active {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
#notice img {
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#actions {
|
|
||||||
float: right;
|
|
||||||
width: 140px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#actions .button {
|
|
||||||
display: block;
|
|
||||||
padding: 0;
|
|
||||||
height: 36px;
|
|
||||||
background: url(bg-button.png) no-repeat top left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#actions .button a {
|
|
||||||
display: block;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#actions .button a:link,
|
|
||||||
#actions .button a:visited,
|
|
||||||
#actions .button a:hover,
|
|
||||||
#actions .button a:active {
|
|
||||||
color: #696;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#actions .button a span {
|
|
||||||
display: block;
|
|
||||||
padding: 6px 10px;
|
|
||||||
color: #666;
|
|
||||||
text-shadow: 1px 1px 1px #fff;
|
|
||||||
font-size: 10pt;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#middle {
|
|
||||||
background: #eef url(bg-middle.png) repeat-x top left;
|
|
||||||
margin: 20px 0;
|
|
||||||
padding: 1px 10px;
|
|
||||||
}
|
|
||||||
#middle h3 {
|
|
||||||
margin: 0 0 10px;
|
|
||||||
color: #033;
|
|
||||||
}
|
|
||||||
#middle p {
|
|
||||||
font-size: 10pt;
|
|
||||||
}
|
|
||||||
#middle a:link,
|
|
||||||
#middle a:visited,
|
|
||||||
#middle a:hover,
|
|
||||||
#middle a:active {
|
|
||||||
color: #366;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
#middle .col25 .container {
|
|
||||||
padding: 0 0 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#developers {
|
|
||||||
float: left;
|
|
||||||
width: 40%;
|
|
||||||
}
|
|
||||||
#security {
|
|
||||||
float: right;
|
|
||||||
width: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lower {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lower a:link,
|
|
||||||
#lower a:visited,
|
|
||||||
#lower a:hover,
|
|
||||||
#lower a:active {
|
|
||||||
color: #600;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lower strong a:link,
|
|
||||||
#lower strong a:visited,
|
|
||||||
#lower strong a:hover,
|
|
||||||
#lower strong a:active {
|
|
||||||
color: #c00;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lower h3 {
|
|
||||||
color: #963;
|
|
||||||
font-size: 14pt;
|
|
||||||
}
|
|
||||||
#lower h4 {
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
#lower ul {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0.5em 0;
|
|
||||||
}
|
|
||||||
#lower p,
|
|
||||||
#lower li {
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #753;
|
|
||||||
margin: 0 0 0.1em;
|
|
||||||
}
|
|
||||||
#lower li {
|
|
||||||
padding: 3px 5px;
|
|
||||||
}
|
|
||||||
#lower li strong {
|
|
||||||
color: #a53;
|
|
||||||
}
|
|
||||||
#lower li#list-announce {
|
|
||||||
border: 1px solid #f90;
|
|
||||||
background-color: #ffe8c8;
|
|
||||||
}
|
|
||||||
#lower p {
|
|
||||||
font-size: 10.5pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
#low-manage,
|
|
||||||
#low-docs,
|
|
||||||
#low-help {
|
|
||||||
float: left;
|
|
||||||
width: 32%;
|
|
||||||
}
|
|
||||||
#low-docs {
|
|
||||||
margin: 0 0 0 2.2%;
|
|
||||||
}
|
|
||||||
#low-help {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
#low-manage div,
|
|
||||||
#low-docs div,
|
|
||||||
#low-help div {
|
|
||||||
min-height: 280px;
|
|
||||||
border: 3px solid #ffdc75;
|
|
||||||
background-color: #fff1c8;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer {
|
|
||||||
padding: 0;
|
|
||||||
margin: 20px 0;
|
|
||||||
color: #999;
|
|
||||||
background-color: #eee;
|
|
||||||
}
|
|
||||||
#footer h4 {
|
|
||||||
margin: 0 0 10px;
|
|
||||||
font-size: 10pt;
|
|
||||||
}
|
|
||||||
#footer p {
|
|
||||||
margin: 0 0 10px;
|
|
||||||
font-size: 10pt;
|
|
||||||
}
|
|
||||||
#footer ul {
|
|
||||||
margin: 6px 0 1px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
#footer li {
|
|
||||||
margin: 0;
|
|
||||||
font-size: 9pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer a:link,
|
|
||||||
#footer a:visited,
|
|
||||||
#footer a:hover,
|
|
||||||
#footer a:active {
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
.copyright {
|
|
||||||
font-size: 10pt;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
@ -1,967 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<!-- Generator: Adobe Illustrator 11 Build 196, SVG Export Plug-In . SVG Version: 6.0.0 Build 78) -->
|
|
||||||
<svg:svg
|
|
||||||
xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/"
|
|
||||||
xmlns:xap="http://ns.adobe.com/xap/1.0/"
|
|
||||||
xmlns:ns0="http://ns.adobe.com/SaveForWeb/1.0/"
|
|
||||||
xmlns:ns="http://ns.adobe.com/Variables/1.0/"
|
|
||||||
xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/"
|
|
||||||
xmlns:x="adobe:ns:meta/"
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
i:viewOrigin="176.7139 486.707"
|
|
||||||
i:rulerOrigin="-156 -296"
|
|
||||||
i:pageBounds="156 496 456 296"
|
|
||||||
width="260.162"
|
|
||||||
height="184.413"
|
|
||||||
viewBox="0 0 260.162 184.413"
|
|
||||||
overflow="visible"
|
|
||||||
enable-background="new 0 0 260.162 184.413"
|
|
||||||
xml:space="preserve"
|
|
||||||
id="svg2"
|
|
||||||
sodipodi:version="0.32"
|
|
||||||
inkscape:version="0.46"
|
|
||||||
sodipodi:docname="tomcat.svg"
|
|
||||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"><svg:defs
|
|
||||||
id="defs59"><inkscape:perspective
|
|
||||||
sodipodi:type="inkscape:persp3d"
|
|
||||||
inkscape:vp_x="0 : 92.206497 : 1"
|
|
||||||
inkscape:vp_y="0 : 1000 : 0"
|
|
||||||
inkscape:vp_z="260.16199 : 92.206497 : 1"
|
|
||||||
inkscape:persp3d-origin="130.08099 : 61.470998 : 1"
|
|
||||||
id="perspective63" /></svg:defs><sodipodi:namedview
|
|
||||||
inkscape:window-height="725"
|
|
||||||
inkscape:window-width="1051"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
guidetolerance="10.0"
|
|
||||||
gridtolerance="10.0"
|
|
||||||
objecttolerance="10.0"
|
|
||||||
borderopacity="1.0"
|
|
||||||
bordercolor="#666666"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
id="base"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="2.1025362"
|
|
||||||
inkscape:cx="130.08099"
|
|
||||||
inkscape:cy="91.968689"
|
|
||||||
inkscape:window-x="35"
|
|
||||||
inkscape:window-y="192"
|
|
||||||
inkscape:current-layer="svg2" />
|
|
||||||
<svg:metadata
|
|
||||||
id="metadata4">
|
|
||||||
<ns:variableSets>
|
|
||||||
<ns:variableSet
|
|
||||||
varSetName="binding1"
|
|
||||||
locked="none">
|
|
||||||
<ns:variables />
|
|
||||||
<ns:sampleDataSets />
|
|
||||||
</ns:variableSet>
|
|
||||||
</ns:variableSets>
|
|
||||||
<ns0:sfw>
|
|
||||||
<ns0:slices />
|
|
||||||
<ns0:sliceSourceBounds
|
|
||||||
y="302.294"
|
|
||||||
x="176.714"
|
|
||||||
width="260.162"
|
|
||||||
height="184.413"
|
|
||||||
bottomLeftOrigin="true" />
|
|
||||||
</ns0:sfw>
|
|
||||||
<xpacket /><x:xmpmeta
|
|
||||||
x:xmptk="XMP toolkit 3.0-29, framework 1.6">
|
|
||||||
|
|
||||||
<svg:metadata
|
|
||||||
id="metadata61"><rdf:RDF>
|
|
||||||
|
|
||||||
<rdf:Description
|
|
||||||
rdf:about="">
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description
|
|
||||||
rdf:about="">
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description
|
|
||||||
rdf:about="">
|
|
||||||
<xap:CreateDate>2006-05-09T08:17:21Z</xap:CreateDate>
|
|
||||||
<xap:ModifyDate>2006-05-09T08:37:38Z</xap:ModifyDate>
|
|
||||||
<xap:CreatorTool>Illustrator</xap:CreatorTool>
|
|
||||||
<xap:Thumbnails>
|
|
||||||
<rdf:Alt>
|
|
||||||
<rdf:li
|
|
||||||
rdf:parseType="Resource">
|
|
||||||
<xapGImg:format>JPEG</xapGImg:format>
|
|
||||||
<xapGImg:width>256</xapGImg:width>
|
|
||||||
<xapGImg:height>184</xapGImg:height>
|
|
||||||
<xapGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
|
|
||||||
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
|
|
||||||
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
|
|
||||||
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAuAEAAwER
|
|
||||||
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
|
|
||||||
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
|
|
||||||
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
|
|
||||||
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
|
|
||||||
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
|
|
||||||
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
|
|
||||||
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
|
|
||||||
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
|
|
||||||
FXYq7FXYq7FXYq7FXYq7FXhH/OYHnWfQ/wAurfRLSUxXXmK49GQqaN9VtwJJqH3cxqfYnFXhP5Y/
|
|
||||||
85O+f/JU0enaw769okbBJLS8ZvrUKg0IhnarDj/I9R2HHFX2F+Xn5neT/P8ApP6R8u3glKAfW7KS
|
|
||||||
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</xapGImg:image>
|
|
||||||
</rdf:li>
|
|
||||||
</rdf:Alt>
|
|
||||||
</xap:Thumbnails>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<cc:Work
|
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></svg:metadata></x:xmpmeta>
|
|
||||||
<xpacket />
|
|
||||||
</svg:metadata>
|
|
||||||
<svg:switch
|
|
||||||
id="switch6">
|
|
||||||
<svg:foreignObject
|
|
||||||
requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"
|
|
||||||
x="0"
|
|
||||||
y="0"
|
|
||||||
width="1"
|
|
||||||
height="1"
|
|
||||||
id="foreignObject8">
|
|
||||||
<i:pgfRef
|
|
||||||
xlink:href="#adobe_illustrator_pgf">
|
|
||||||
</i:pgfRef>
|
|
||||||
</svg:foreignObject>
|
|
||||||
<svg:g
|
|
||||||
i:extraneous="self"
|
|
||||||
id="g10">
|
|
||||||
<svg:g
|
|
||||||
id="colors"
|
|
||||||
i:layer="yes"
|
|
||||||
i:dimmedPercent="3"
|
|
||||||
i:rgbTrio="#4F00FFFF4F00">
|
|
||||||
<svg:path
|
|
||||||
i:knockout="Off"
|
|
||||||
fill="#F8DC75"
|
|
||||||
d="M237.682,33.617c-0.019-5.071,0.402-24.5-2.5-30.4 c-7.869,2.99-19.189,11.68-22.431,21.588c-15.532-2.32-35.042-2.045-50.381,0.608C159.808,14.753,147.946,7.596,138.243,3 c-4.093,6.907-3.906,19.92-3.445,31.279c-0.018,0.013-0.037,0.024-0.054,0.037c1.8,47.7,22.2,74.399,52.799,92.399 c31.481-17.988,50.972-49.057,50.101-93.12C237.656,33.603,237.67,33.609,237.682,33.617z M216.485,25.421 c0.114,0.021,0.229,0.042,0.344,0.064C216.715,25.463,216.601,25.441,216.485,25.421z M214.527,25.083 c0.275,0.044,0.554,0.094,0.83,0.141C215.081,25.177,214.805,25.129,214.527,25.083z"
|
|
||||||
id="path13" />
|
|
||||||
<svg:path
|
|
||||||
i:knockout="Off"
|
|
||||||
fill="#D2A41F"
|
|
||||||
d="M91.013,133.328c46.474,4.115,90.927,22.883,141.085,49.085h25.598l0.361,0.191 c0.516-2.575-1.888-6.025-4.752-9.229c-4.941-5.528-11.623-6.145-19.707-5.951c-5.738-6.83-41.004-43.861-41.004-43.861 l-4.808,3.395c-38.75-21.75-49.155-62.513-49.155-62.513c-33.792,8.148-69.78,28.334-90.391,49.761l-3.118,3.292 c-1.489,1.597-2.928,3.174-4.312,4.723C18.967,146.661,3,170.87,3,175.213v2.25h23.816l-0.505-0.668 c-2.449-12.943,4.443-23.341,10.279-30.385c4.179-5.044,11.1-9.801,21.968-12.457L91.013,133.328z"
|
|
||||||
id="path15" />
|
|
||||||
</svg:g>
|
|
||||||
<svg:g
|
|
||||||
id="tomcat"
|
|
||||||
i:layer="yes"
|
|
||||||
i:dimmedPercent="3"
|
|
||||||
i:rgbTrio="#4F00FFFF4F00">
|
|
||||||
<svg:path
|
|
||||||
i:knockout="Off"
|
|
||||||
d="M240.682,32.617c-0.019-5.071-1.598-26.5-4.5-32.4c-7.869,2.99-22.189,12.68-25.431,22.588 c-15.532-2.32-33.042-2.045-48.381,0.608C159.808,12.753,146.946,4.596,137.243,0c-4.093,6.907-5.906,22.92-5.445,34.279 c-0.018,0.013-0.037,0.024-0.054,0.037c1.8,47.7,25.2,77.399,55.799,95.399c31.481-17.988,53.972-53.057,53.101-97.12 C240.656,32.603,240.67,32.609,240.682,32.617z M214.485,23.421c0.114,0.021,0.229,0.042,0.344,0.064 C214.715,23.463,214.601,23.441,214.485,23.421z M212.527,23.083c0.275,0.044,0.554,0.094,0.83,0.141 C213.081,23.177,212.805,23.129,212.527,23.083z M235.784,36.059c0.81,39.69-19.44,71.279-47.79,87.48 c-48.118-23.977-57.183-84.71-48.977-117.289c2.283,12.454,6.424,20.266,15.394,24.098c19.533-5.591,46.423-6.033,66.231-0.57 c8.255-6.001,11.456-15.169,13.204-23.18C236.029,15.921,235.777,36.055,235.784,36.059z"
|
|
||||||
id="path18" />
|
|
||||||
<svg:g
|
|
||||||
id="g20">
|
|
||||||
<svg:rect
|
|
||||||
x="133.209"
|
|
||||||
y="90.51"
|
|
||||||
i:knockout="Off"
|
|
||||||
width="26.245"
|
|
||||||
height="3.239"
|
|
||||||
id="rect22" />
|
|
||||||
<svg:rect
|
|
||||||
x="133.209"
|
|
||||||
y="82.732"
|
|
||||||
i:knockout="Off"
|
|
||||||
width="26.245"
|
|
||||||
height="3.24"
|
|
||||||
id="rect24" />
|
|
||||||
<svg:rect
|
|
||||||
x="213.35"
|
|
||||||
y="90.51"
|
|
||||||
i:knockout="Off"
|
|
||||||
width="26.244"
|
|
||||||
height="3.239"
|
|
||||||
id="rect26" />
|
|
||||||
<svg:rect
|
|
||||||
x="213.35"
|
|
||||||
y="82.732"
|
|
||||||
i:knockout="Off"
|
|
||||||
width="26.244"
|
|
||||||
height="3.24"
|
|
||||||
id="rect28" />
|
|
||||||
<svg:g
|
|
||||||
id="g30">
|
|
||||||
<svg:path
|
|
||||||
i:knockout="Off"
|
|
||||||
d="M204.1,63.524h-27.188h-3.021h-12.561v-2.917h13.31c1.639-7.018,1.963-13.725-0.014-17.125 c-0.844-1.446-2.01-2.121-3.674-2.121c-7.609,0-10.753,8.046-10.884,8.389l0.002-0.003l-2.73-1.024 c0.156-0.42,3.965-10.278,13.612-10.278c2.692,0,4.834,1.235,6.191,3.57c2.41,4.141,2.127,11.305,0.494,18.592l23.354,0 c3.103-9.116,9.581-13.414,20.405-13.414v2.916c-11.732,0-15.019,4.973-17.366,10.498l12.743,0l-0.029,2.901L204.1,63.524z"
|
|
||||||
id="path32" />
|
|
||||||
<svg:path
|
|
||||||
i:knockout="Off"
|
|
||||||
d="M206.017,77.925l0.019-0.003c-3.459-5.101-4.555-9.456-3.108-14.413l-2.971,0.015 c-1.035,3.3-0.62,8.273,1.929,12.54H172.21c1.806-3.616,3.479-8.025,4.702-12.54h-3.021 c-1.348,4.786-3.241,9.524-5.372,13.277l-0.689,1.213l16.652,10.482l-9.375,6.178l1.605,2.436l10.479-6.908l11.312,7.382 l1.554-2.468l-10.488-6.488c0,0,15.682-10.187,16.461-10.684C206.024,77.937,206.021,77.931,206.017,77.925z M187.156,86.733 l-12.317-7.755l24.071,0.006L187.156,86.733z"
|
|
||||||
id="path34" />
|
|
||||||
</svg:g>
|
|
||||||
</svg:g>
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="114.745,73.635 122.087,95.391 99.788,80.434 "
|
|
||||||
id="polygon36" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="93.261,83.153 101.147,96.75 84.559,88.32 "
|
|
||||||
id="polygon38" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="75.313,93.759 79.12,107.356 67.699,99.47 "
|
|
||||||
id="polygon40" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="196.871,130.199 189.801,141.077 202.31,135.366 "
|
|
||||||
id="polygon42" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="208.021,142.709 196.6,151.411 212.372,147.332 "
|
|
||||||
id="polygon44" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="180.282,24.686 188.713,43.178 194.151,24.414 "
|
|
||||||
id="polygon46" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="137.588,51.608 150.913,58.678 138.947,59.494 "
|
|
||||||
id="polygon48" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="140.851,66.021 149.009,69.284 142.211,71.188 "
|
|
||||||
id="polygon50" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="236.031,56.775 225.153,61.398 234.127,62.757 "
|
|
||||||
id="polygon52" />
|
|
||||||
<svg:polygon
|
|
||||||
i:knockout="Off"
|
|
||||||
points="231.68,70.1 223.25,72.548 230.048,74.995 "
|
|
||||||
id="polygon54" />
|
|
||||||
<svg:path
|
|
||||||
i:knockout="Off"
|
|
||||||
d="M256.305,173.375c-4.941-5.528-14.623-8.145-22.707-7.951c-5.738-6.83-39.004-41.861-39.004-41.861 l-2.306,2.903l40.162,43.238l1.743-0.149c10.912-0.935,17.115,4.983,18.757,6.819c1.204,1.347,1.931,2.575,2.326,3.539h-22.075 c-50.624-26.416-95.078-45.044-142.297-49.112c0.104-6.571,1.273-14.01,3.518-22.299l-4.343-1.177 c-2.308,8.521-3.523,16.236-3.661,23.133c-4.92-0.326-9.872-0.495-14.868-0.495c-4.237,0-8.095,0.394-11.614,1.077 c-4.59-4.587-8.5-8.959-11.823-13.108c21.936-22.85,58.15-43.498,89.533-51.092l-1.015-4.396 c-33.792,8.148-70.78,30.334-91.391,51.761c-9.565-12.91-13.36-23.504-14.487-31.532c-1.424-10.14,0.997-19.441,6.999-26.899 C47.15,44.099,60.502,43.277,74.23,45.586c-0.268,2.167,0.017,4.24,0.885,5.522c3.631,5.363,23.144,7.246,34.791,2.049 c-8.595-12.045-26.006-17.926-30.83-15.569c-1.598,0.781-2.804,2.214-3.63,3.886c-4.745-0.849-9.458-1.48-12.903-1.455 c-12.107,0.088-21.363,4.319-28.296,12.932c-6.802,8.451-9.551,18.944-7.95,30.347c1.516,10.8,6.863,22.286,15.825,34.198 c-1.489,1.597-2.928,3.174-4.312,4.723C15.967,146.661,0,172.87,0,177.213v2.25h28.816l-0.505-2.668 c-1.627-8.601,1.623-19.351,8.279-27.385c4.179-5.044,11.1-10.801,21.968-13.457c9.663,9.431,21.975,19.446,35.679,29.109 h21.414v-2.25c0-2.539-1.259-4.762-3.545-6.257c-3.383-2.212-8.605-2.517-13.402-0.881c-4.573-5.093-7.137-11.896-7.691-20.347 c46.474,4.115,90.927,22.883,141.085,49.085h27.598l0.361-1.809C260.572,180.029,259.169,176.579,256.305,173.375z M33.125,146.539c-6.816,8.227-10.429,19.094-9.601,28.424H5.372c3.647-7.894,18.176-30.712,39.644-53.76 c2.958,3.656,6.253,7.35,9.872,11.073C44.347,135.444,37.437,141.336,33.125,146.539z"
|
|
||||||
id="path56" />
|
|
||||||
</svg:g>
|
|
||||||
</svg:g>
|
|
||||||
</svg:switch>
|
|
||||||
<i:pgf
|
|
||||||
id="adobe_illustrator_pgf">
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
wu6fUTK4oKJdvHOv77ZHU8OYhfm8tvE8OTGL+bUxRjK1N4IxOtaj62N2xDDGU7kop5dYjvYgrWwj
|
|
||||||
2wK1GBCkAsngUZwBRcVXKEDSbbblZ3/ewrYJUGKQaSFlxto/ZrKwna65GX7YX3PzMm6bkxhcXmcj
|
|
||||||
fEkRNOU2uSjLZH/MVudKwJki71/ny1NNV1U/YTxUc2jvhXOq3+JeJj77GxbsfUpLarRXYS5OudZY
|
|
||||||
tLyOB8jCulF48vlyBrH6ck1aiOXtQBZycUnJMoU8cy0e8SUIdDjitgi01GDPraozV0TgnO7h8qrV
|
|
||||||
mezF2M4Iv/i1C22+sp7NL5gf69X1Utw/ttLphhGdXWgu+urMnRhrvuJgreonwJhDSRZ9JTR93oVT
|
|
||||||
2TF1FcbyGw6xEnoThV0uLwL1+xxUFSQbF9oKt50Y9+9iungVwpJct1m2rVOe1oN9EBFLQilreaj8
|
|
||||||
9/k1k5mNGRFaES1Lk51EfRXCyW10b+Gum5XuEzVV5tpehbBaLU9+zTxmK4x5Hd2vlJXQs6sQDBHe
|
|
||||||
Ncuzac6ai648+5cpzKq9j0DRJIFSpoDmrSNWK2bSWSYuF3u2GjreBV17o6rGpzu4WFMaNitda90S
|
|
||||||
gHCvFLYy1FjZlomWf51XvFApvJHbgBFtiSnt7juhjTZ25aIqX/5tPZGijZNiY+p7ih0rvReM7LVp
|
|
||||||
bKWbEVzOhb44In2Zr6U0V2ZZLPT9avlsv4zANHePaOr4dEE3k/u2NxB8tRwvTHYMNyla3wxGjr7e
|
|
||||||
XB/Rtn4dxjugvrfHdkSr+vWRla4zu90US1QXfFhWx4IqfQTFpCFErHGY9eqMaS9ypo6MYLVrYbqm
|
|
||||||
wmNTKbwYa1mzuJffzK1NpHh5wb9pnWlPU77sfAWU7fpUzq+XLzuWKlBXeoc3R2M2gWNT2NgQ5XHO
|
|
||||||
08eqb6c6TMtUApRijiUmoK8cH9sEjkmBqpPPwbVCxOO0Olxz18z+5PRK30Ogqv/Y++E2mUWQts3d
|
|
||||||
mcsioDo51eGiR3Gte+HSK30UwbF4+W5Aa/E5rW9Td0Mpld4L3sO1acz5ywj0lgwZj13re0mOYnkS
|
|
||||||
WHYXNGiFmxTLYCjSaxfLqeieQizPqjgpxXJt640yZ84olpdVCm9GLAPaIpu5S40ULy8Ry6abJ53K
|
|
||||||
l9cUywseElK+vCGxXNu63NDNkwRZTmIZ7f3VKj8BbSuLZWqPYnFZPhcpZF0ill1GK4pKLL+NVq/7
|
|
||||||
tF7LfC3watmKVnWfCzwZetZpvlpEL/djPmGjch8g/N6hlfsUt35jzfcKdZ8UlvjbiD6J16buU/X1
|
|
||||||
kfp+2spP6rrPvaM71vnsr5DpOuf1q49NXr85ywJLWTfo9eNSD82p453DK6aSYuG3zXUFhsiI/YUF
|
|
||||||
NmRRH9O6Falvn6tu+va5+pjarUhzXUE6HF3h7NOVLK9834X9Jq96XQHF2Qfq/+11BarcV8SWzhuO
|
|
||||||
xRKfvBkkaqluNN87DDCZV4tjMftQ9eInqX03O1GsmC5jxXTB5fWEpNCb5Yeq9ytJcc0PVZs+U+3y
|
|
||||||
/pEPVZs+U004/+Y/VG3q5/L+kQ9Vmz5TvXwta3+o2nYtG/1Qtekz1XgTxR/4ULXVl743/6FqE3Au
|
|
||||||
7x/5UHVg/jPVsJY/8aFqE3DEB7v5D1WbPlOt1b5t+EPVps9UY5baH/hQtWlS/Dr2H/hQNcJg+Ez1
|
|
||||||
zKuw2Q9Vz0sfowd+kx+qXjVz2KGM0uZD1RaRRINm88sPVdsBZ7aSaD9UTVtAPqar4V3vQ9Wm8Rbv
|
|
||||||
6nQ0uWg+VL1SDS/dh6qdSUVZC/WHqqlLluc/U22fb0lLfJYfqnbOt/zth6otEGj7pe8Vk8eXIxDv
|
|
||||||
7KK6LJP2gAysvrFjVWFHjcAF14nTLQEOZu+y8uwNR3lsyrMp/HYLX5Te4P15enE27dcZnDJLlxdn
|
|
||||||
r+KDtSnPXgdjm7ky11Sc/ZuoqFqevYGsG4rybAqQyL78rjybojjbDmNrOq1sirO1L0pv8nKFxeJs
|
|
||||||
my8ZrVKeTZ2j+KvybAqPmm2Uh748m6I4Wz+Va5dnU3A527XQl2dTf7X8V+XZFptoLs6212FWGNGx
|
|
||||||
dtFKiq1Ynm2gWrvi7CX7QluevcK+/KI82xKL87GGjeyLo/a74l2dVuXZv/8CO015NoWyoX+Vae3y
|
|
||||||
bIribGM04beV7vbF2evdaj5Xnk2BSrv85BXKsymKs1eOii6WZ1OUGlvl9a1Ynk1RnO1wLxxNeTZF
|
|
||||||
cfZ81s1a5dlrY2zFCkrH4myn80JRdkwhpV2UQK1YfWkCaZZtu3559iJIFnnjvy7Ppqys/2V5tnNx
|
|
||||||
tjHXGtfaMicOUq/U6uad2bezre7oNn49m75Wfdm3s6m+J05dNm7HmEw1VrTgrfjtbKdM+818O1uX
|
|
||||||
yNZfz157N+a+nU19k96vvp1tpcEuq6OmUmkWlmv7bfRPuotcHAvRSRU1sffX8Out9u1sy7s6qRFI
|
|
||||||
p8jQ36vwuVAZR319CahDBj9//s9VjNvc1LrhinEKL9wGKsYXa0X/RMW4PcY2WTG+gRsOKSrGaW84
|
|
||||||
/F3FuDHn6s9VjNN80eD3FeMuh4SjzVSML2YQ/YmK8VmFnWWx8aYqxvVK4SjlQVunYnzdb9itVjG+
|
|
||||||
HGObqhjH/OT1a6doK8bNsdc/UzFuWVm/8Ypx+rsIflMxPl+V9qcqxpfljm6uYnyluwfXrhi3/VrW
|
|
||||||
RivGN1OX5FQxvkJd0i8qxhdy4P9IxfgGaIyiYtxFL31/UTE+R2N/rGJ8lW/Wr18xbvPN+g1XjJMb
|
|
||||||
QTna6Oq6FeMu7+I3zzdfMb6hGiuHinEDJdOXpq1cMa74+uxUnk1VjCvaBb8ptNmUpq1e97pOxbi1
|
|
||||||
72LTFeObo7HFWPbi3YMrlqatWDHuWsl0Wbdi3Hxn15+pGLe/qXWTFeOz6qc96vvX1qgY/81dN/QV
|
|
||||||
4y6KD17/XtnQvlpOUdLyi4pxu+/ybLZifDmNLVaMr1rfPXc7kOVHHzZXMY7f4LbKl95sxbjyjdTf
|
|
||||||
524trxg3c5g/UzHucvZEbKBifMZh2C3ar5KuUTG+5t1QK1aML/GQbLBiHLTxWc34H6kYJ2LZ/gsg
|
|
||||||
m6wY178AssK3gleuGKeIjGygYtzCSvoDFeNk923LiTdVMW6oeqZ1WK9RMb7eDYerVoyvZImvXTFu
|
|
||||||
cUfEH6gYJxVDd5v8NtKc10+tGHd5rT9xv9mKcVjLrGb8z1WMW0ZGNl4xrkdGqN2Ka1SMk7w+20/c
|
|
||||||
b6pifHb20+Hon6sYd8i031DF+Er3j61dMW5z/9jyivFFPC2pGMfacPwG95+qDtdrw+Hs/7HqcL0f
|
|
||||||
YuxPVYfr/VzeP1cdvnwtm6oO1/u5vH+uOlwvtl380vfmqsP12nC9amDz1eE6cHNfYd5wdThdZf1v
|
|
||||||
q8NNlfV/qDrcsbJ+I9Xhepk26Px/rDpcrw3X5MufqA5XRUK3PQWM/bHqcF0xVK2kP1IdbpcDv9nq
|
|
||||||
cJMO84eqw80+pT9THb65L+Utqw5fo15sjerwpV8v3Vh1uF4bvkZOL3V1uL5cy69mbKg63CKj+w9U
|
|
||||||
h1tmdG+8OlwPYzvUWfyqOtzKStpYdbiGO6s6iz9QHa4jw+VIT+tXhy/U8P6R6nC6/LHfVocbswj+
|
|
||||||
XHX4YtXzn6gOX5ajuLnqcKcI72aqw/XacIds219Vh9thbLPV4XptOE3m8LrV4TbZgxuuDtdlvVrN
|
|
||||||
8Ueqw3VEm+5V2Gh1uJ6M5PL+uepw27VstDpcrw0309gmq8PtdZhNVodbSbHNV4cv2ZcNVofrteGb
|
|
||||||
3Re7T3f/Yl9W+HT3Eovv19Xh+mZb6Pwbqw7XNxtj4n+qOtypinMz1eFzttgfqw6nuleB+SgIz0tR
|
|
||||||
afAbqAs3xpENCRIur5Yi0WvZf8A39fC6+gdAz23PfvtsU4W8lLdq6NLeUsOD9X1TfQH4nXtFz1Wn
|
|
||||||
+MA6kFLq4cd8K/ZKpZwLGFuxlNMOY7T3XThjbPHm3xXu7Jpbmq0JvxJIJJL4RpWO5Py9dFtmZZ/X
|
|
||||||
Z4unFYtI56xXE1Br3OJmF+giX2Cnrfek0PlxpQu5O7jSOZ3fwlK31/RPfJmRnaZ/brLTf/0V5uxC
|
|
||||||
GZoN56er9l3L6Wh7EziAt2AU/8bpCON5V/gyi6PT8dzW6bg8D9Z+N/ZWOjQOVtL5eldSLqust0gJ
|
|
||||||
+90nwGcC0eXdxM0Jnwvp7fMItPkO7xIELknctkWgrQ6DxetOyWHUCMRZsHjdyZ5QcWchIS0yRsft
|
|
||||||
JbVv/I48pKlsoPPB9i6sdn+NrMCLjX/172KzXzQALrFwsNcrfdbzvX+LMccP/tH5LbF6ekPfSL0g
|
|
||||||
Gd+/zxsnIFmkelvd1EqBJ0c/03zKnlLLY5eihcXrv/w86sw7Olfsxp9UJhkb79Iwv2aWt7UPlj+5
|
|
||||||
DZhvgFlnm2IlLSrqlFNHK95jJftjtsaN0/nVE7xtMXbk3wjGPFq92C8TqfMUSWR0X/xEoH6T222I
|
|
||||||
8eWtfBtr4skUNVoe5XFS8rF0nSYd0LV6gcZwScIClsZaHNy1b5zGuBB1kY/L61RTTCdzl0vcue8j
|
|
||||||
n73HzO6W9S+KwNJ17fQaIrxrfWm39kZzwYOLshSbSvDakrj+FWasW9/EbRFK1fr8EV73Vg1StR7c
|
|
||||||
HI2tKn2tZK9uv5AR69Q0tkLyeLmPPNnGj4iOHqoybmdBp+9+uW97HdLqYWyEcF9nmY66pWFEuzIP
|
|
||||||
MuLSa3VcXooRLWtT95ORI7simFtLD8n6sVAQkxTizUVzNgDuHA3x2TruF+ssgAHQ3j1DVZu6nywu
|
|
||||||
3j24VvnY3WB5berc7juWYu+vaT6Z/MmEOjZTm4rl15qz9LfyBavWnWtTaWksvpAgYXYiLctAsPlm
|
|
||||||
vQXfNDtCKArlZoFxwpO1ezoAj/u2yaJs9jlNYxRa+Rws13K30lVZSyuKKb9dSx01A/N3o3fcIYyr
|
|
||||||
3fdg/33ku5Xuy1peiK1V1/76kga7FCVLi8/5S+freB+svl+JdetrXZplhSyrexStXKSUH8PEEe3C
|
|
||||||
H1Y0tsKVEbWt0xM7sXyvi2UHbkkplp9/lovlFeRLbeuBxqtpJZZt7iGB3ac9dzRimdS91jfgc0G0
|
|
||||||
2Yrlxd13/Hg3taavHz1Lnny/MbGM5dcgljdwi6ZStb5ULK9EY5eOFzzYiOVl36zfnFhe8Chi2DVo
|
|
||||||
K5YBxlsa08wklu3X8uAslqkrV3Ur6W3kqFgtfPPcuX6d27TcfxttWO7HfLQXSnjnIolLyuv7v7xq
|
|
||||||
cd4Sf1jBEaKOaIs7kxuEourZWUxi/brz2aepYLfw+r15lnn96oaPECy3xOm8fh/psIONiH4YmysX
|
|
||||||
lpU0fzpduDCfgeuiuNOg+mu34sI9ilY5Sb9wK1Yt8y3Xvn2YlK7TS2S6z50fUKvXWi2PjdiyTC1a
|
|
||||||
48KF+bNfpfHzr2JN6kIL8y0LQthebL2M2w7Xg6nLWPZdiHnr9TZ2YDsfRcTcdr7ZjTqqxxHxWKhk
|
|
||||||
6weNXrLfCA2Ske700iQDyFSpbktkEoff18+5/d1rjbk0kruZj6GfTebvHwuzfQYrSQ==
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
IPBw1sNSVMLjx8Ay4fBxoFlGOaQlwDEflWRcBeCdY4AKeUEGJCBa4HiJER7pmwHqwpPCSHBSgKp5
|
|
||||||
IBegdDwgAg/HgQFUzdoKpC0aZZR+oN5ESFtEwSTPiGExipvEc2FJ4pAykT/g8YWJGFw/0iXP424J
|
|
||||||
XAQQF4XXWJhbJCQjKQTCs3Bco4h3eJ8nYEELJ/HaYQfCBrA4EagPVyHKYZ6JwuBwklgBtrvqQtqO
|
|
||||||
EMKOIow8TAa/8BKLrUDRPJwVNxx2RAgH/Tl8EoFfkUphRs7NCZEwnGGBkIyMZMVxeKwFmCfKAb9D
|
|
||||||
YIBvhCWYi8DAsTATxwHIwK2gJRoWETwOliUzEraIsE+AKGA2wEMAoQilIMEpbbhYOHiiRHYJUCVE
|
|
||||||
ZDcL7AQISybwwiRzLSpXSLv0Njie5GQADAycDQ4OmKmN4QSln8wqsDLALqMRmBMQIUUA8xwTBUaJ
|
|
||||||
x59H/gHUzOGGMQJH4OJkgKLhQvgJqQMWYbGMRFCj8KIIo5x2DqkCuQ3wpGiEENQicRacaL6QUoQf
|
|
||||||
iEIi+kKhtYThZNBr1CZUwlDrSiUMiSB0t1eQeVGNBQq6zIuqMk/WZF5ElXkozRSZx2kyT9RlXkST
|
|
||||||
eTyReYwm83hN5kU1mcfrMo/VZJ64IPMiZpnHW8g8XpN5vCrzJE6Tebwm80RN5gGlqTJPVmUesBmT
|
|
||||||
zIOWBZkHbSaZhy3zMg9bFmQeYy/zhAWZJ1rIPEGTeZIq81hGk3lRTeYJusyLajJPUGVeVJN5gibz
|
|
||||||
zBuuyDxWE0K8LvNYTebxmsxjNZnHazKPVWUer8s8VpN5vCbzWE3m8ZrMM083k3mSrAkhXpN50KTK
|
|
||||||
PF6VedCiSjNek2aMJvP4mcxb7EVGktSRiMwzT4dwIHELMuKMCYtAKeRI8ApDR/TLEYmwYCaCHB4o
|
|
||||||
CTghS/YxCoyHsHxRIrsv4mmRCOETKQBDANkCBxeEqCInkZNGeZacLAGJFV8DkmR5RCD8AhySMEMg
|
|
||||||
OlwdSC+ZQTICBHKIUiAaEJ4CvofgImkRlVKAo4AaUwQXIIiEJHG/kGgiynuyQtx4bkVCLNBL5nBX
|
|
||||||
NNkrgFgBquHIsiMRWSRwskyUSGNAU1RAARVl8OiwbgVxiE0CCse7F1CZduKvU3K2EYG8DP/KcHh6
|
|
||||||
5NzKHApWra1gbOPIlhQMby62zN77mDXCsQ3LUZCehglmbQVjG6yPFwTDeJZNszfxPAE9inxkBgqS
|
|
||||||
kKjqBDPoDE36svQ3rdq0Vw1TzGAxzGGAz9CmL01/16pt9u4HbgfsuETYAHBYVuIJa4jgaRH1poJC
|
|
||||||
fUwkMtfGAwELeAIt20D3kGUydQQYRASp2dgGS5WRunhU6YncRtUZGR7IA4kTUFSwirAXBGQ/ArIR
|
|
||||||
hANoH4hRAJYbxbMCSiacF2xRtSzQhsKiGNUb4DXUcfA8651gX4Fjw2t8FMSOzJOWqERAEhXJogii
|
|
||||||
qBTR2mSi2oFKysC5I2/KyIyUNo5lUO+UUF7gaHjM4QVBANYuskaw1AZlNaAyCoZOEdT0WMJBQNuV
|
|
||||||
CVok5ABkwShj8DUQpiIyOgHPLbK+CAhTCTkPoJOXREXOwmAGpKM0jhJJqTaR/cLtZ/Dko/rECgo3
|
|
||||||
4ySJJfsQAWUayBKMYxaPu9aCImzWBlwQeQiOBaQYlWW9DWQTTITyiVdsDpwO6JHVQUgrVpQEG2Ak
|
|
||||||
D2xTCVCWOA3QOTolupxiovCgFER5lKPA2qISCKqe0oaESJoiZAxg5qh5ALeXJNRCo7AIGeUbil8B
|
|
||||||
dWHoIQqMYWbEGlgZojxP5lFgqjzqOmAnSBLuN/RiCC9EWxwsFTJ6RJYUoSICTnAs2GdgOpLephyt
|
|
||||||
KIeUgnZTBAWKonQocImipFDB3IlMW59INLhA8qmWTZTQHEgunqwZ9CeOaNDA9QRiXcvAEQhUAop5
|
|
||||||
BVeirFC0iDJc5MnuE9JWDrLEsaoNilZVgfAK2DhJkb6oguC7qABGFH4eYSKyijGOVfuBbCNNomrb
|
|
||||||
oZohs4Sjo56IG4jTMqgN4NaDwBNV8ECdB4YqabIJNxctzDuVBiReaSPDkhY8FKQFjaYFOklrigmA
|
|
||||||
LEWJwQ1oifJEakTQRANyB8qAHZIi2sZzgtrEaaudf1W1Mm5dstvndz/cu5ZJRK0Ph4pVhKiAcGii
|
|
||||||
HApGMKlQj5VUHQtW0HVxUcQpSm+wfjng5Ni28G4XQLCfkxMRUlRv0XCLAP5gLmAOIOUVNUqG0wHD
|
|
||||||
ossCSJNsBuEqXYtXHaYCWgazQVaEG2jvOFUE7UtBUa4icNpgWCBB0CZEhf3wUVzB4qvLp0IHGyIB
|
|
||||||
2WOEiaJURnKKsGhBC7hvcIi7hAswHE6vyZfu4qsOM0mCIkN5kEwysapwBKJO88hIQVTgqBJaNsjE
|
|
||||||
gXEC5ZAm05sOExGjAfmliLiAXcc1RZQTh2IRrG6ewI/ePpRT0I8YUV2Ldx3mQncZw0pEFBDeDHNx
|
|
||||||
ILPwBHBwGkEq4LCg0ooiylt4xrEcWejCq05TgeYqEi0BmJhEDhs6TDhUldHW59RhkVsSLhuBbZTJ
|
|
||||||
qsyvLp9J0WKRXDkZLVFclMAAGxNR7YU5QQ1EaJEfS0TX4HhFu+5avOswF4NMl0eGDxKDEYkvDHkC
|
|
||||||
4V3o5kEGDOPCwY2KaIKybDjKsjJpM7+7fC5V8KG4n3Nzwepwq2zcXBxrdnNxrIWbS1LdXGC8L7q5
|
|
||||||
ZDRaoIlRLCvQQBn0I6C1CFsDz4jbDu0oBjUAaGPRVIA2dF2xqGihBSSJskpVHDrIOFSyZYJpURkL
|
|
||||||
IOTRT4WePEmUOGKBy+iDRGUClKYosbeiRNxBi4xuCvQIRlVvInE7RfQmlFUo/1nF18QSrzlxcxG5
|
|
||||||
xqMfh7jQ0JeG+pQiHBUnEqpmcIyEKJxiOHthiZhbyAtZ0c0BouDoKwoFx0RY8hpOi2tDJicR4cYR
|
|
||||||
7xu6xMhxBV7LEZNZVjGM/jD8BRBEOBF6z2CkCApgVlaYUxQ9hRFeUxRgEjTUOaI/otNMa2kQlspw
|
|
||||||
6GDRezEKmnliVgLj5UBTg8MkkwWjcgrT8cAtRBRnuMXoSOOQIEgngB+1EHS+SRySmIiCNYLmKScg
|
|
||||||
USP5yKjqwUpA1spIh3iMiJwiXEIhSPTTRKNq2EB1jQqKaxTQBBhTXaOi5hrlFlyj7IJrFOYBjosi
|
|
||||||
JIKyBNaLvh5CKKCHMKiHKO5GpBiM4PACKuEcg5qbdkRBhSDvCSIwaWQGQjQCK4ZHgog8F6hRBnMD
|
|
||||||
34OHircJoBPRaObQlGAjCmcGUgYwQUkDBRNb0KJnRLKfwLii2AtMBOLcIr1ERlGcJVDHoQU1LZkl
|
|
||||||
DJUokQ0iNVEnBgg4Hl7n0HkUVZkzUfU5UMBFDq0HHmMVMiHfqKS4YdHyAWQAMmFfRRZ1woga2MGR
|
|
||||||
0Y0gYDhJIjhBB5PMysQw4XmwylAYK6cPNlpGjxi2sCKgXiAqJfH3gdmGDjTSiZFYluxcFIQPaYmi
|
|
||||||
3sfxsuo0gxYRthIxGVUIDJvIatHhSxyR8DqPh59DhiKyioEDFEe8wgxhqVGVj+PSgLMD61HCeBLL
|
|
||||||
oH8ZGST6LOAXYLKc+l6EHAwZNw5sKw4dh1FB8dezHJIOMk+Dnz1NfNBmP3tkwc8uWPjZuQU/u6h5
|
|
||||||
1XnNzy7qPvWZn33WFtV96hHNzz7Xtuhn51H9jxBWSyw2JHJRwBYOYzLYMvOzEwPY7GfnzH52IAST
|
|
||||||
n52Z+dmB04DOAfwAqJwHBgK0gfChps6rMoSLomcN0QAnV0RhAu/JnGKdzNoKxjYeScDUJoaBAGA0
|
|
||||||
9DAyRKRhZAnIEpQTVbrA+WAjxE7mkBGAugRtOABuGViRsEkCacHzzEWRVyBeAFCGJxYBgioJguIj
|
|
||||||
YDmF4cObPEGLwn70yAKrRBbSxrBX1Bz24qSFsBenh71ELezF6WEv0SLsFV0Ie0UWwl68Oeyl2DeE
|
|
||||||
wnlZIFSIZlhPDdDwircRaE5ws6CskOOD+8FEyYFCZiMpwWMiQ4AwgbEz6GuYtRWgDf2caCkAaxcx
|
|
||||||
ukDeRCUHcSZE8HDAoMSYAP01wiiEg5FscoCA3eHZQk4gS0TWgcxB1zOHngMGhS0GDnji58eRMPSA
|
|
||||||
yFdpGTkB8E0SH4oi3zGv1zHaaRX58RZr7VZlVOt0WyNXe1z7q+Wu9fuDSW3SGsITd3vUGk8Go5Z7
|
|
||||||
/Dn4G1vgFa2715u9zrn+L1T7Dxc=
|
|
||||||
|
|
||||||
</i:pgf>
|
|
||||||
<svg:text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:13.03699398px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
|
|
||||||
x="246.20877"
|
|
||||||
y="10.629581"
|
|
||||||
id="text2436"
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
transform="scale(0.9830254,1.0172677)"><svg:tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan2438"
|
|
||||||
x="246.20877"
|
|
||||||
y="10.629581">TM</svg:tspan></svg:text>
|
|
||||||
</svg:svg>
|
|
@ -1,585 +0,0 @@
|
|||||||
================================================================================
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
====================================================
|
|
||||||
Building The Apache Tomcat 8.5 Servlet/JSP Container
|
|
||||||
====================================================
|
|
||||||
|
|
||||||
This project contains the source code for Tomcat 8.5, a container that
|
|
||||||
implements the Servlet 3.1, JSP 2.3, EL 3.0, WebSocket 1.1 and JASPIC 1.1
|
|
||||||
specifications from the Java Community Process <https://www.jcp.org/>.
|
|
||||||
|
|
||||||
Note: If you just need to run Apache Tomcat, it is not necessary to build
|
|
||||||
it. You may simply download a binary distribution. It is cross-platform.
|
|
||||||
Read RUNNING.txt for the instruction on how to run it.
|
|
||||||
|
|
||||||
In order to build a binary distribution version of Apache Tomcat from a
|
|
||||||
source distribution, do the following:
|
|
||||||
|
|
||||||
|
|
||||||
(1) Download and Install a Java Development Kit
|
|
||||||
|
|
||||||
1. If the JDK is already installed, skip to (2).
|
|
||||||
|
|
||||||
2. Download a version 11 or later of Java Development Kit (JDK) release (use
|
|
||||||
the latest update available for your chosen version) from one of:
|
|
||||||
|
|
||||||
http://www.oracle.com/technetwork/java/javase/downloads/index.html
|
|
||||||
http://openjdk.java.net/install/index.html
|
|
||||||
or another JDK vendor.
|
|
||||||
|
|
||||||
Note regarding later versions of Java:
|
|
||||||
|
|
||||||
As documented elsewhere, one of components in Apache Tomcat includes
|
|
||||||
a private copy of the Apache Commons DBCP 2 library.
|
|
||||||
|
|
||||||
The JDBC interfaces implemented by DBCP frequently change in non-backwards
|
|
||||||
compatible ways between versions of the Java SE specification. Therefore,
|
|
||||||
it is likely that DBCP 2 will only compile with the specific version of Java
|
|
||||||
listed above and that compilation will fail if a later version of Java is
|
|
||||||
used.
|
|
||||||
|
|
||||||
See Apache Commons DBCP 2 project web site for more details on
|
|
||||||
available versions of the library and its requirements,
|
|
||||||
|
|
||||||
https://commons.apache.org/dbcp/
|
|
||||||
|
|
||||||
3. Install the JDK according to the instructions included with the release.
|
|
||||||
|
|
||||||
4. Set an environment variable JAVA_HOME to the pathname of the directory
|
|
||||||
into which you installed the JDK release.
|
|
||||||
|
|
||||||
|
|
||||||
(2) Install Apache Ant version 1.9.10 or later on your computer.
|
|
||||||
|
|
||||||
1. If Apache Ant version 1.9.10 or later is already installed on your
|
|
||||||
computer, skip to (3).
|
|
||||||
|
|
||||||
2. Download a binary distribution of Ant from:
|
|
||||||
|
|
||||||
https://ant.apache.org/bindownload.cgi
|
|
||||||
|
|
||||||
3. Unpack the binary distribution into a convenient location so that the
|
|
||||||
Ant release resides in its own directory (conventionally named
|
|
||||||
"apache-ant-[version]").
|
|
||||||
|
|
||||||
For the purposes of the remainder of this document, the symbolic name
|
|
||||||
"${ant.home}" is used to refer to the full pathname of the release
|
|
||||||
directory.
|
|
||||||
|
|
||||||
4. Create an ANT_HOME environment variable to point the directory
|
|
||||||
${ant.home}.
|
|
||||||
|
|
||||||
5. Modify the PATH environment variable to include the directory
|
|
||||||
${ant.home}/bin in its list. This makes the "ant" command line script
|
|
||||||
available, which will be used to actually perform the build.
|
|
||||||
|
|
||||||
|
|
||||||
(3) Building Tomcat 8.5
|
|
||||||
|
|
||||||
(3.1) Checkout or obtain the source code for Tomcat 8.5
|
|
||||||
|
|
||||||
Clone the source using git, then checkout a specific major branch or
|
|
||||||
main for the latest code development, or download and unpack a source
|
|
||||||
package.
|
|
||||||
|
|
||||||
* Tomcat GitHub repository URL:
|
|
||||||
|
|
||||||
https://github.com/apache/tomcat
|
|
||||||
|
|
||||||
* Source packages can be downloaded from:
|
|
||||||
|
|
||||||
https://tomcat.apache.org/download-80.cgi
|
|
||||||
|
|
||||||
The location where the source has been placed will be further referred as
|
|
||||||
${tomcat.source}.
|
|
||||||
|
|
||||||
The Tomcat local build process does not modify line-endings. The svn repository
|
|
||||||
is configured so that all files will be checked out with the line-ending
|
|
||||||
appropriate for the current platform. When using a source package you should
|
|
||||||
ensure that you use the source package that has the appropriate line-ending
|
|
||||||
for your platform:
|
|
||||||
|
|
||||||
zip -> CRLF
|
|
||||||
tar.gz -> LF
|
|
||||||
|
|
||||||
Note that the release build process does modify line-endings to ensure that
|
|
||||||
each release package has the appropriate line-endings.
|
|
||||||
|
|
||||||
(3.2) Building
|
|
||||||
|
|
||||||
1. The build is controlled by creating a ${tomcat.source}/build.properties
|
|
||||||
file.
|
|
||||||
|
|
||||||
It is recommended to always create the file, because of unfortunate
|
|
||||||
default value of base.path property. You may start with the following
|
|
||||||
content for the file:
|
|
||||||
|
|
||||||
# ----- Default Base Path for Dependent Packages -----
|
|
||||||
# Replace this path with the directory path where dependencies binaries
|
|
||||||
# should be downloaded
|
|
||||||
base.path=/home/me/some-place-to-download-to
|
|
||||||
|
|
||||||
2. Configure base.path property by adding it to the
|
|
||||||
${tomcat.source}/build.properties file.
|
|
||||||
|
|
||||||
The base.path property specifies the place where Tomcat dependencies
|
|
||||||
required by the build are downloaded. It is recommended to place this
|
|
||||||
directory outside of the source tree, so that you do not waste your
|
|
||||||
time re-downloading the libraries.
|
|
||||||
|
|
||||||
* NOTE: The default value of the base.path property configures the build script
|
|
||||||
to download the libraries required to build Tomcat to the
|
|
||||||
${user.home}/tomcat-build-libs directory.
|
|
||||||
|
|
||||||
* NOTE: Users accessing the Internet through a proxy must use the properties
|
|
||||||
file to indicate to Ant the proxy configuration.
|
|
||||||
|
|
||||||
The following properties should be added to the ${tomcat.source}/build.properties
|
|
||||||
file.
|
|
||||||
|
|
||||||
proxy.use=true
|
|
||||||
proxy.host=proxy.domain
|
|
||||||
proxy.port=8080
|
|
||||||
proxy.user=username
|
|
||||||
proxy.password=password
|
|
||||||
|
|
||||||
See Apache Ant documentation for the <setproxy> task for details.
|
|
||||||
|
|
||||||
3. Go to the sources directory and run Ant:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant
|
|
||||||
|
|
||||||
This will execute the "deploy" target in build.xml.
|
|
||||||
|
|
||||||
Once the build has completed successfully, a usable Tomcat installation
|
|
||||||
will have been produced in the ${tomcat.source}/output/build directory,
|
|
||||||
and can be started and stopped with the usual scripts.
|
|
||||||
|
|
||||||
Note that the build includes Tomcat documentation, which can be found
|
|
||||||
in the output/build/webapps/docs directory.
|
|
||||||
|
|
||||||
The path of the output directory can be controlled by specifying the
|
|
||||||
"tomcat.output" property in the build.properties file.
|
|
||||||
|
|
||||||
* NOTE: Do not run the build as the root user. Building and running Tomcat
|
|
||||||
does not require root privileges.
|
|
||||||
|
|
||||||
|
|
||||||
(4) Updating sources and rebuilding
|
|
||||||
|
|
||||||
It is recommended that you regularly update the downloaded Tomcat 8.5
|
|
||||||
sources using your git client.
|
|
||||||
|
|
||||||
For a quick rebuild of only modified code you can use:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant
|
|
||||||
|
|
||||||
|
|
||||||
(5) Special builds
|
|
||||||
|
|
||||||
There are several targets in Tomcat build files that are useful to be
|
|
||||||
called separately. They build components that you may want to build
|
|
||||||
quickly, or ones that are included in the full release and are not built
|
|
||||||
during the default "deploy" build.
|
|
||||||
|
|
||||||
(5.1) Building documentation
|
|
||||||
|
|
||||||
The documentation web application is built during the default "deploy"
|
|
||||||
build.
|
|
||||||
|
|
||||||
It can be built quickly by using the following commands:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant build-docs
|
|
||||||
|
|
||||||
The output of this command will be found in the following directory:
|
|
||||||
|
|
||||||
output/build/webapps/docs
|
|
||||||
|
|
||||||
|
|
||||||
The API documentation (Javadoc) is built during a "release" build. It is
|
|
||||||
easy to build it separately by using the following commands:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant javadoc
|
|
||||||
|
|
||||||
The output of this command will be found in the following directories:
|
|
||||||
|
|
||||||
output/dist/webapps/docs/api
|
|
||||||
output/dist/webapps/docs/elapi
|
|
||||||
output/dist/webapps/docs/jspapi
|
|
||||||
output/dist/webapps/docs/servletapi
|
|
||||||
|
|
||||||
|
|
||||||
(5.2) Building the extras (commons-logging, webservices etc.)
|
|
||||||
|
|
||||||
These components are documented on the "Additional Components"
|
|
||||||
(extras.html) page of documentation. They are built during a "release"
|
|
||||||
build.
|
|
||||||
|
|
||||||
You can build them by using the following commands:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant extras
|
|
||||||
|
|
||||||
(5.3) Building the embedded packages
|
|
||||||
|
|
||||||
These are built during a "release" build.
|
|
||||||
|
|
||||||
You can build them by using the following commands:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant embed
|
|
||||||
|
|
||||||
|
|
||||||
(6) Building a full release (as provided via the ASF download pages)
|
|
||||||
|
|
||||||
A full release includes the Windows installer which requires a Windows
|
|
||||||
environment to be available to create it. If not building in a Windows
|
|
||||||
environment, the build scripts assume that Wine is available. If this is not
|
|
||||||
the case, the skip.installer property may be set to skip the creation of the
|
|
||||||
Windows installer.
|
|
||||||
|
|
||||||
Provided that Wine is available on non-Windows platforms, a full release
|
|
||||||
build may be made on Windows, Linux or MacOS.
|
|
||||||
|
|
||||||
1. Configure GPG, if needed
|
|
||||||
|
|
||||||
If the released artifacts have to be cryptographically signed with a
|
|
||||||
PGP signature, like the official ASF releases are, the following
|
|
||||||
property can be added to the build.properties file:
|
|
||||||
|
|
||||||
# Location of GPG executable (used only for releases)
|
|
||||||
gpg.exec=/path/to/gpg
|
|
||||||
|
|
||||||
You do not need it if you do not plan to sign the release.
|
|
||||||
|
|
||||||
If "gpg.exec" property does not point to an existing file, it will be
|
|
||||||
ignored and this feature will be deactivated.
|
|
||||||
|
|
||||||
You will be prompted for the GPG passphrase when the release build
|
|
||||||
starts, unless "gpg.passphrase" property is set.
|
|
||||||
|
|
||||||
2. If building the Windows installer
|
|
||||||
|
|
||||||
If running the build in a UAC enabled environment, building the Windows
|
|
||||||
installer requires elevated privileges. The simplest way to do this is to
|
|
||||||
open the command prompt used for the build with the "Run as administrator"
|
|
||||||
option.
|
|
||||||
|
|
||||||
3. Configure the code signing service
|
|
||||||
|
|
||||||
ASF committers performing official releases will need to configure the code
|
|
||||||
signing service so that the Windows installer is signed during the build
|
|
||||||
process. The following properties need to be added to the build.properties
|
|
||||||
file:
|
|
||||||
|
|
||||||
# Location of GPG executable (used only for releases)
|
|
||||||
gpg.exec=/path/to/gpg
|
|
||||||
# Code signing of Windows installer
|
|
||||||
do.codesigning=true
|
|
||||||
codesigning.storepass=request-via-pmc
|
|
||||||
|
|
||||||
Release managers will be provided with the necessary credentials by the PMC.
|
|
||||||
|
|
||||||
4. Build the release:
|
|
||||||
|
|
||||||
Apache Tomcat releases are fully reproducible.
|
|
||||||
|
|
||||||
Release managers producing release builds must follow the following
|
|
||||||
procedure:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant pre-release
|
|
||||||
ant release
|
|
||||||
git commit -a -m "Tag <version-number>"
|
|
||||||
git tag <vesion-number>
|
|
||||||
git push origin <version-number>
|
|
||||||
ant release
|
|
||||||
git reset --hard HEAD~1
|
|
||||||
|
|
||||||
The output from either 'ant release' call may be uploaded as the official
|
|
||||||
release since they will be identical. It is recommended that the output from
|
|
||||||
the second call is used.
|
|
||||||
|
|
||||||
Anyone wishing to reproduce an official build must do so from an official
|
|
||||||
source release. The build tool chain defined in build.properties.release
|
|
||||||
must be used to reproduce an official build. Once unpacked to
|
|
||||||
${tomcat.source}, the following steps must be followed
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant release
|
|
||||||
|
|
||||||
Following the same steps without using the defined build tool chain will
|
|
||||||
create a release that is functionally the same as an official release but
|
|
||||||
not bit for bit identical.
|
|
||||||
|
|
||||||
|
|
||||||
(7) Tests
|
|
||||||
|
|
||||||
(7.1) Running Tomcat tests
|
|
||||||
|
|
||||||
Tomcat includes a number of junit tests. The tests are not run when a
|
|
||||||
release is built. There is separate command to run them.
|
|
||||||
|
|
||||||
To run the testsuite use the following command:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant test
|
|
||||||
|
|
||||||
It is advisable to redirect output of the above command to a file for later
|
|
||||||
inspection.
|
|
||||||
|
|
||||||
The JUnit reports generated by the tests will be written to the following
|
|
||||||
directory:
|
|
||||||
|
|
||||||
output/build/logs
|
|
||||||
|
|
||||||
By default the testsuite is run three times to test 3 different
|
|
||||||
implementations of Tomcat connectors: NIO, NIO2 and APR. (If you are not
|
|
||||||
familiar with Tomcat connectors, see config/http.html in documentation for
|
|
||||||
details).
|
|
||||||
|
|
||||||
The 3 runs are activated and deactivated individually by the following
|
|
||||||
properties, which all are "true" by default:
|
|
||||||
|
|
||||||
execute.test.nio=true
|
|
||||||
execute.test.nio2=true
|
|
||||||
execute.test.apr=true
|
|
||||||
|
|
||||||
The APR connector can be tested only if Tomcat-Native library binaries are
|
|
||||||
found by the testsuite. The "test.apr.loc" property specifies the directory
|
|
||||||
where the library binaries are located.
|
|
||||||
|
|
||||||
By default the "test.apr.loc" property specifies the following location:
|
|
||||||
|
|
||||||
output/build/bin/
|
|
||||||
|
|
||||||
If you are on Windows and want to test the APR connector you can put the
|
|
||||||
tcnative-1.dll file into ${tomcat.source}/bin/ and it will be copied
|
|
||||||
into the above directory when the build runs.
|
|
||||||
|
|
||||||
The unit tests include tests of the clustering functionality which require
|
|
||||||
multicast to be enabled. There is a simple application provided in the Tomcat
|
|
||||||
test source (org.apache.catalina.tribes.TesterMulticast) that can be used to
|
|
||||||
check if a machine supports multicast. Notes on enabling multicast for different
|
|
||||||
operating systems are provided in the Javadoc for that class.
|
|
||||||
|
|
||||||
|
|
||||||
(7.2) Running a single test
|
|
||||||
|
|
||||||
It is possible to run a single JUnit test class by adding the "test.entry"
|
|
||||||
property to the build.properties file. The property specifies the name of
|
|
||||||
the test class.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
test.entry=org.apache.catalina.util.TestServerInfo
|
|
||||||
|
|
||||||
It is possible to further limit such run to a number of selected test
|
|
||||||
methods by adding "test.entry.methods" property. The property specifies a
|
|
||||||
comma-separated list of test case methods.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
test.entry=org.apache.el.lang.TestELArithmetic
|
|
||||||
test.entry.methods=testMultiply01,testMultiply02
|
|
||||||
|
|
||||||
|
|
||||||
(7.3) Running a set of tests
|
|
||||||
|
|
||||||
It is possible to run a set of JUnit test classes by adding the "test.name"
|
|
||||||
property to the build.properties file. The property specifies an Ant
|
|
||||||
includes pattern for the fileset of test class files to run.
|
|
||||||
|
|
||||||
The default value is "**/Test*.java", so all test classes are being
|
|
||||||
executed (with few exceptions - see build.xml for several exclude patterns).
|
|
||||||
|
|
||||||
You can include multiple patterns by concatenating them with a comma (",")
|
|
||||||
as the separator.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
test.name=**/TestSsl.java,**/TestWebSocketFrameClientSSL.java
|
|
||||||
|
|
||||||
You can exclude specific JUnit test classes by adding the "test.exclude"
|
|
||||||
property to the build.properties file. The property specifies an Ant
|
|
||||||
excludes pattern for the fileset of test class files to exclude form the run.
|
|
||||||
The default value is empty, so no classes are excluded. The syntax is the same
|
|
||||||
as for the property "test.name".
|
|
||||||
|
|
||||||
|
|
||||||
(7.4) Other configuration options
|
|
||||||
|
|
||||||
1. It is possible to configure the directory where JUnit reports are
|
|
||||||
written to. It is configured by "test.reports" property. The default
|
|
||||||
value is
|
|
||||||
|
|
||||||
output/build/logs
|
|
||||||
|
|
||||||
2. It is possible to enable generation of access log file when the tests
|
|
||||||
are run. This is off by default and can be enabled by the following
|
|
||||||
property:
|
|
||||||
|
|
||||||
test.accesslog=true
|
|
||||||
|
|
||||||
The "access_log.<date>" file will be written to the same directory as
|
|
||||||
JUnit reports,
|
|
||||||
|
|
||||||
output/build/logs
|
|
||||||
|
|
||||||
3. The testsuite respects logging configuration as configured by
|
|
||||||
${tomcat.source}/conf/logging.properties
|
|
||||||
|
|
||||||
The log files will be written to the temporary directory used by the
|
|
||||||
tests,
|
|
||||||
|
|
||||||
output/test-tmp/logs
|
|
||||||
|
|
||||||
4. It is possible to configure formatter used by JUnit reports.
|
|
||||||
Configuration properties are "junit.formatter.type",
|
|
||||||
"junit.formatter.extension" and "junit.formatter.usefile".
|
|
||||||
|
|
||||||
For example the following property deactivates generation of separate report
|
|
||||||
files:
|
|
||||||
|
|
||||||
junit.formatter.usefile=false
|
|
||||||
|
|
||||||
5. It is possible to speed up testing by letting JUnit to run several
|
|
||||||
tests in parallel.
|
|
||||||
|
|
||||||
This is configured by setting "test.threads" property. The recommended
|
|
||||||
value is one thread per core.
|
|
||||||
|
|
||||||
6. Optional support is provided for the Cobertura code coverage tool.
|
|
||||||
|
|
||||||
NOTE: Cobertura is licensed under GPL v2 with parts of it being under
|
|
||||||
Apache License v1.1. See https://cobertura.github.io/cobertura/ for details.
|
|
||||||
Using it during Tomcat build is optional and is off by default.
|
|
||||||
|
|
||||||
Cobertura can be enabled using the following properties:
|
|
||||||
|
|
||||||
test.cobertura=true
|
|
||||||
test.threads=1
|
|
||||||
|
|
||||||
Using Cobertura currently requires setting test.threads configuration
|
|
||||||
property to the value of 1. Setting that property to a different value
|
|
||||||
will deactivate code coverage.
|
|
||||||
|
|
||||||
The report files by default are written to
|
|
||||||
|
|
||||||
output/coverage
|
|
||||||
|
|
||||||
7. The performance tests are written to run reasonably powerful machines (such
|
|
||||||
as a developer may use day to day) assuming no other resource hungry
|
|
||||||
processes are running.
|
|
||||||
|
|
||||||
These assumptions are not always true (e.g. on CI systems running in a
|
|
||||||
virtual machine) so the performance tests may be deactivated by using the
|
|
||||||
following property:
|
|
||||||
|
|
||||||
test.excludePerformance=true
|
|
||||||
|
|
||||||
8. Some tests include checks that the access log valve entries are as expected.
|
|
||||||
These checks include timings. On slower / loaded systems these checks will
|
|
||||||
often fail. The checks may be relaxed by using the following property:
|
|
||||||
|
|
||||||
test.relaxTiming=true
|
|
||||||
|
|
||||||
9. It is known that some platforms (e.g. OSX El Capitan) require IPv4 to
|
|
||||||
be the default for the multicast tests to work. This is configured by
|
|
||||||
the following property:
|
|
||||||
|
|
||||||
java.net.preferIPv4Stack=true
|
|
||||||
|
|
||||||
10. By default the output of unit tests is sent to the console and can be
|
|
||||||
quite verbose. The output can be deactivated by setting the property:
|
|
||||||
|
|
||||||
test.verbose=false
|
|
||||||
|
|
||||||
(8) Source code checks
|
|
||||||
|
|
||||||
(8.1) Checkstyle
|
|
||||||
|
|
||||||
NOTE: Checkstyle is licensed under LGPL. Using Checkstyle during Tomcat
|
|
||||||
build is optional and is off by default.
|
|
||||||
|
|
||||||
See http://checkstyle.sourceforge.net/ for more information.
|
|
||||||
|
|
||||||
Tomcat comes with a Checkstyle configuration that tests its source code
|
|
||||||
for certain conventions, like presence of the license header.
|
|
||||||
|
|
||||||
To enable Checkstyle, add the following property to build.properties file:
|
|
||||||
|
|
||||||
execute.validate=true
|
|
||||||
|
|
||||||
Once Checkstyle is enabled, the check will be performed automatically
|
|
||||||
during the build. The check is run before compilation of the source code.
|
|
||||||
|
|
||||||
To speed-up repeated runs of this check, a cache is configured. The cache
|
|
||||||
is located in the following directory:
|
|
||||||
|
|
||||||
output/res/checkstyle
|
|
||||||
|
|
||||||
It is possible to run the check separately by calling the "validate"
|
|
||||||
target. The command is:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant -Dexecute.validate=true validate
|
|
||||||
|
|
||||||
|
|
||||||
(8.2) SpotBugs
|
|
||||||
|
|
||||||
NOTE: SpotBugs is licensed under LGPL. Using SpotBugs during Tomcat build is
|
|
||||||
optional and is off by default.
|
|
||||||
|
|
||||||
See https://spotbugs.github.io/ for more information.
|
|
||||||
|
|
||||||
To enable SpotBugs, add the following property to build.properties file:
|
|
||||||
|
|
||||||
execute.spotbugs=true
|
|
||||||
|
|
||||||
To compile Tomcat classes and generate a SpotBugs report, call the
|
|
||||||
"spotbugs" target. For example:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant -Dexecute.spotbugs=true spotbugs
|
|
||||||
|
|
||||||
The report file by default is written to
|
|
||||||
|
|
||||||
output/spotbugs
|
|
||||||
|
|
||||||
|
|
||||||
(8.3) End-of-line conventions check
|
|
||||||
|
|
||||||
You usually would not need to run this check. You can skip this section.
|
|
||||||
|
|
||||||
Apache Tomcat project has convention that all of its textual source files,
|
|
||||||
stored in the Git repository, use Unix style LF line endings.
|
|
||||||
|
|
||||||
This test is used by developers to check that the source code adheres to
|
|
||||||
this convention. It verifies that the ends of lines in textual files are
|
|
||||||
appropriate. The idea is to run this check regularly and notify developers
|
|
||||||
when an inconsistency is detected.
|
|
||||||
|
|
||||||
The command to run this test is:
|
|
||||||
|
|
||||||
cd ${tomcat.source}
|
|
||||||
ant validate-eoln
|
|
@ -1,21 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<Context antiResourceLocking="false" >
|
|
||||||
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
|
|
||||||
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
|
|
||||||
</Context>
|
|
@ -1,178 +0,0 @@
|
|||||||
================================================================================
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
|
|
||||||
Apache Tomcat Version 8.5.88
|
|
||||||
Release Notes
|
|
||||||
|
|
||||||
|
|
||||||
=========
|
|
||||||
CONTENTS:
|
|
||||||
=========
|
|
||||||
|
|
||||||
* Dependency Changes
|
|
||||||
* API Stability
|
|
||||||
* Bundled APIs
|
|
||||||
* Web application reloading and static fields in shared libraries
|
|
||||||
* Security manager URLs
|
|
||||||
* Symlinking static resources
|
|
||||||
* Viewing the Tomcat Change Log
|
|
||||||
* Cryptographic software notice
|
|
||||||
* When all else fails
|
|
||||||
|
|
||||||
|
|
||||||
===================
|
|
||||||
Dependency Changes:
|
|
||||||
===================
|
|
||||||
Tomcat 8.5 is designed to run on Java 7 and later.
|
|
||||||
|
|
||||||
|
|
||||||
==============
|
|
||||||
API Stability:
|
|
||||||
==============
|
|
||||||
|
|
||||||
The public interfaces for the following classes are fixed and will not be
|
|
||||||
changed at all during the remaining lifetime of the 8.x series:
|
|
||||||
- All classes in the javax namespace
|
|
||||||
|
|
||||||
The public interfaces for the following classes may be added to in order to
|
|
||||||
resolve bugs and/or add new features. No existing interface method will be
|
|
||||||
removed or changed although it may be deprecated.
|
|
||||||
- org.apache.catalina.* (excluding sub-packages)
|
|
||||||
|
|
||||||
Note: As Tomcat 8 matures, the above list will be added to. The list is not
|
|
||||||
considered complete at this time.
|
|
||||||
|
|
||||||
Note: A large number of deprecated methods, fields and configuration options
|
|
||||||
were removed in the transition from 8.0.x to 8.5.x. If any of those
|
|
||||||
removals triggers significant problems for the user community that the
|
|
||||||
deletion may be reverted in a later point release.
|
|
||||||
|
|
||||||
The remaining classes are considered part of the Tomcat internals and may change
|
|
||||||
without notice between point releases.
|
|
||||||
|
|
||||||
|
|
||||||
=============
|
|
||||||
Bundled APIs:
|
|
||||||
=============
|
|
||||||
A standard installation of Tomcat 8.5 makes all of the following APIs available
|
|
||||||
for use by web applications (by placing them in "lib"):
|
|
||||||
* annotations-api.jar (Annotations package)
|
|
||||||
* catalina.jar (Tomcat Catalina implementation)
|
|
||||||
* catalina-ant.jar (Tomcat Catalina Ant tasks)
|
|
||||||
* catalina-ha.jar (High availability package)
|
|
||||||
* catalina-storeconfig.jar (Generation of XML configuration from current state)
|
|
||||||
* catalina-tribes.jar (Group communication)
|
|
||||||
* ecj-4.6.3.jar (Eclipse JDT Java compiler)
|
|
||||||
* el-api.jar (EL 3.0 API)
|
|
||||||
* jasper.jar (Jasper 2 Compiler and Runtime)
|
|
||||||
* jasper-el.jar (Jasper 2 EL implementation)
|
|
||||||
* jsp-api.jar (JSP 2.3 API)
|
|
||||||
* servlet-api.jar (Servlet 3.1 API)
|
|
||||||
* tomcat-api.jar (Interfaces shared by Catalina and Jasper)
|
|
||||||
* tomcat-coyote.jar (Tomcat connectors and utility classes)
|
|
||||||
* tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP 2)
|
|
||||||
* tomcat-jdbc.jar (Tomcat's database connection pooling solution)
|
|
||||||
* tomcat-jni.jar (Interface to the native component of the APR/native connector)
|
|
||||||
* tomcat-util.jar (Various utilities)
|
|
||||||
* tomcat-websocket.jar (WebSocket 1.1 implementation)
|
|
||||||
* websocket-api.jar (WebSocket 1.1 API)
|
|
||||||
|
|
||||||
You can make additional APIs available to all of your web applications by
|
|
||||||
putting unpacked classes into a "classes" directory (not created by default),
|
|
||||||
or by placing them in JAR files in the "lib" directory.
|
|
||||||
|
|
||||||
To override the XML parser implementation or interfaces, use the appropriate
|
|
||||||
feature for your JVM. For Java <= 8 use the endorsed standards override
|
|
||||||
feature. The default configuration defines JARs located in "endorsed" as endorsed.
|
|
||||||
For Java 9+ use the upgradeable modules feature.
|
|
||||||
|
|
||||||
|
|
||||||
================================================================
|
|
||||||
Web application reloading and static fields in shared libraries:
|
|
||||||
================================================================
|
|
||||||
Some shared libraries (many are part of the JDK) keep references to objects
|
|
||||||
instantiated by the web application. To avoid class loading related problems
|
|
||||||
(ClassCastExceptions, messages indicating that the classloader
|
|
||||||
is stopped, etc.), the shared libraries state should be reinitialized.
|
|
||||||
|
|
||||||
Something which might help is to avoid putting classes which would be
|
|
||||||
referenced by a shared static field in the web application classloader,
|
|
||||||
and putting them in the shared classloader instead (JARs should be put in the
|
|
||||||
"lib" folder, and classes should be put in the "classes" folder).
|
|
||||||
|
|
||||||
|
|
||||||
======================
|
|
||||||
Security manager URLs:
|
|
||||||
======================
|
|
||||||
In order to grant security permissions to JARs located inside the
|
|
||||||
web application repository, use URLs of the following format
|
|
||||||
in your policy file:
|
|
||||||
|
|
||||||
file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar
|
|
||||||
|
|
||||||
|
|
||||||
============================
|
|
||||||
Symlinking static resources:
|
|
||||||
============================
|
|
||||||
By default, Unix symlinks will not work when used in a web application to link
|
|
||||||
resources located outside the web application root directory.
|
|
||||||
|
|
||||||
This behavior is optional, and the "allowLinking" flag may be used to deactivate
|
|
||||||
the check.
|
|
||||||
|
|
||||||
|
|
||||||
==============================
|
|
||||||
Viewing the Tomcat Change Log:
|
|
||||||
==============================
|
|
||||||
The full change log is available from https://tomcat.apache.org and is also
|
|
||||||
included in the documentation web application.
|
|
||||||
|
|
||||||
|
|
||||||
=============================
|
|
||||||
Cryptographic software notice
|
|
||||||
=============================
|
|
||||||
This distribution includes cryptographic software. The country in
|
|
||||||
which you currently reside may have restrictions on the import,
|
|
||||||
possession, use, and/or re-export to another country, of
|
|
||||||
encryption software. BEFORE using any encryption software, please
|
|
||||||
check your country's laws, regulations and policies concerning the
|
|
||||||
import, possession, or use, and re-export of encryption software, to
|
|
||||||
see if this is permitted. See <http://www.wassenaar.org/> for more
|
|
||||||
information.
|
|
||||||
|
|
||||||
The U.S. Government Department of Commerce, Bureau of Industry and
|
|
||||||
Security (BIS), has classified this software as Export Commodity
|
|
||||||
Control Number (ECCN) 5D002.C.1, which includes information security
|
|
||||||
software using or performing cryptographic functions with asymmetric
|
|
||||||
algorithms. The form and manner of this Apache Software Foundation
|
|
||||||
distribution makes it eligible for export under the License Exception
|
|
||||||
ENC Technology Software Unrestricted (TSU) exception (see the BIS
|
|
||||||
Export Administration Regulations, Section 740.13) for both object
|
|
||||||
code and source code.
|
|
||||||
|
|
||||||
The following provides more details on the included cryptographic
|
|
||||||
software:
|
|
||||||
- Tomcat includes code designed to work with JSSE
|
|
||||||
- Tomcat includes code designed to work with OpenSSL
|
|
||||||
|
|
||||||
|
|
||||||
====================
|
|
||||||
When all else fails:
|
|
||||||
====================
|
|
||||||
See the FAQ
|
|
||||||
https://tomcat.apache.org/faq/
|
|
@ -1,477 +0,0 @@
|
|||||||
================================================================================
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
================================================================================
|
|
||||||
|
|
||||||
===================================================
|
|
||||||
Running The Apache Tomcat 8.5 Servlet/JSP Container
|
|
||||||
===================================================
|
|
||||||
|
|
||||||
Apache Tomcat 8.5 requires a Java Standard Edition Runtime
|
|
||||||
Environment (JRE) version 7 or later.
|
|
||||||
|
|
||||||
=============================
|
|
||||||
Running With JRE 7 Or Later
|
|
||||||
=============================
|
|
||||||
|
|
||||||
(1) Download and Install a Java SE Runtime Environment (JRE)
|
|
||||||
|
|
||||||
(1.1) Download a Java SE Runtime Environment (JRE),
|
|
||||||
release version 7 or later, from
|
|
||||||
http://www.oracle.com/technetwork/java/javase/downloads/index.html
|
|
||||||
|
|
||||||
(1.2) Install the JRE according to the instructions included with the
|
|
||||||
release.
|
|
||||||
|
|
||||||
You may also use a full Java Development Kit (JDK) rather than just
|
|
||||||
a JRE.
|
|
||||||
|
|
||||||
|
|
||||||
(2) Download and Install Apache Tomcat
|
|
||||||
|
|
||||||
(2.1) Download a binary distribution of Tomcat from:
|
|
||||||
|
|
||||||
https://tomcat.apache.org/
|
|
||||||
|
|
||||||
(2.2) Unpack the binary distribution so that it resides in its own
|
|
||||||
directory (conventionally named "apache-tomcat-[version]").
|
|
||||||
|
|
||||||
For the purposes of the remainder of this document, the name
|
|
||||||
"CATALINA_HOME" is used to refer to the full pathname of that
|
|
||||||
directory.
|
|
||||||
|
|
||||||
NOTE: As an alternative to downloading a binary distribution, you can
|
|
||||||
create your own from the Tomcat source code, as described in
|
|
||||||
"BUILDING.txt". You can either
|
|
||||||
|
|
||||||
a) Do the full "release" build and find the created distribution in the
|
|
||||||
"output/release" directory and then proceed with unpacking as above, or
|
|
||||||
|
|
||||||
b) Do a simple build and use the "output/build" directory as
|
|
||||||
"CATALINA_HOME". Be warned that there are some differences between the
|
|
||||||
contents of the "output/build" directory and a full "release"
|
|
||||||
distribution.
|
|
||||||
|
|
||||||
|
|
||||||
(3) Configure Environment Variables
|
|
||||||
|
|
||||||
Tomcat is a Java application and does not use environment variables directly.
|
|
||||||
Environment variables are used by the Tomcat startup scripts. The scripts use
|
|
||||||
the environment variables to prepare the command that starts Tomcat.
|
|
||||||
|
|
||||||
(3.1) Set CATALINA_HOME (required) and CATALINA_BASE (optional)
|
|
||||||
|
|
||||||
The CATALINA_HOME environment variable should be set to the location of the
|
|
||||||
root directory of the "binary" distribution of Tomcat.
|
|
||||||
|
|
||||||
The Tomcat startup scripts have some logic to set this variable
|
|
||||||
automatically if it is absent, based on the location of the startup script
|
|
||||||
in *nix and on the current directory in Windows. That logic might not work
|
|
||||||
in all circumstances, so setting the variable explicitly is recommended.
|
|
||||||
|
|
||||||
The CATALINA_BASE environment variable specifies location of the root
|
|
||||||
directory of the "active configuration" of Tomcat. It is optional. It
|
|
||||||
defaults to be equal to CATALINA_HOME.
|
|
||||||
|
|
||||||
Using distinct values for the CATALINA_HOME and CATALINA_BASE variables is
|
|
||||||
recommended to simplify further upgrades and maintenance. It is documented
|
|
||||||
in the "Multiple Tomcat Instances" section below.
|
|
||||||
|
|
||||||
|
|
||||||
(3.2) Set JRE_HOME or JAVA_HOME (required)
|
|
||||||
|
|
||||||
These variables are used to specify location of a Java Runtime
|
|
||||||
Environment or of a Java Development Kit that is used to start Tomcat.
|
|
||||||
|
|
||||||
The JRE_HOME variable is used to specify location of a JRE. The JAVA_HOME
|
|
||||||
variable is used to specify location of a JDK.
|
|
||||||
|
|
||||||
Using JAVA_HOME provides access to certain additional startup options that
|
|
||||||
are not allowed when JRE_HOME is used.
|
|
||||||
|
|
||||||
If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used.
|
|
||||||
|
|
||||||
The recommended place to specify these variables is a "setenv" script. See
|
|
||||||
below.
|
|
||||||
|
|
||||||
|
|
||||||
(3.3) Other variables (optional)
|
|
||||||
|
|
||||||
Other environment variables exist, besides the four described above.
|
|
||||||
See the comments at the top of catalina.bat or catalina.sh scripts for
|
|
||||||
the list and a description of each of them.
|
|
||||||
|
|
||||||
One frequently used variable is CATALINA_OPTS. It allows specification of
|
|
||||||
additional options for the java command that starts Tomcat.
|
|
||||||
|
|
||||||
See the Java documentation for the options that affect the Java Runtime
|
|
||||||
Environment.
|
|
||||||
|
|
||||||
See the "System Properties" page in the Tomcat Configuration Reference for
|
|
||||||
the system properties that are specific to Tomcat.
|
|
||||||
|
|
||||||
A similar variable is JAVA_OPTS. It is used less frequently. It allows
|
|
||||||
specification of options that are used both to start and to stop Tomcat as well
|
|
||||||
as for other commands.
|
|
||||||
|
|
||||||
Note: Do not use JAVA_OPTS to specify memory limits. You do not need much
|
|
||||||
memory for a small process that is used to stop Tomcat. Those settings
|
|
||||||
belong to CATALINA_OPTS.
|
|
||||||
|
|
||||||
Another frequently used variable is CATALINA_PID (on *nix only). It
|
|
||||||
specifies the location of the file where process id of the forked Tomcat
|
|
||||||
java process will be written. This setting is optional. It will activate
|
|
||||||
the following features:
|
|
||||||
|
|
||||||
* better protection against duplicate start attempts and
|
|
||||||
* allows forceful termination of Tomcat process when it does not react to
|
|
||||||
the standard shutdown command.
|
|
||||||
|
|
||||||
|
|
||||||
(3.4) Using the "setenv" script (optional, recommended)
|
|
||||||
|
|
||||||
Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can
|
|
||||||
be specified in the "setenv" script. The script is placed either into
|
|
||||||
CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named
|
|
||||||
setenv.bat (on Windows) or setenv.sh (on *nix). The file has to be
|
|
||||||
readable.
|
|
||||||
|
|
||||||
By default the setenv script file is absent. If the script file is present
|
|
||||||
both in CATALINA_BASE and in CATALINA_HOME, the one in CATALINA_BASE is
|
|
||||||
preferred.
|
|
||||||
|
|
||||||
For example, to configure the JRE_HOME and CATALINA_PID variables you can
|
|
||||||
create the following script file:
|
|
||||||
|
|
||||||
On Windows, %CATALINA_BASE%\bin\setenv.bat:
|
|
||||||
|
|
||||||
set "JRE_HOME=%ProgramFiles%\Java\jre7"
|
|
||||||
exit /b 0
|
|
||||||
|
|
||||||
On *nix, $CATALINA_BASE/bin/setenv.sh:
|
|
||||||
|
|
||||||
JRE_HOME=/usr/java/latest
|
|
||||||
CATALINA_PID="/run/tomcat.pid"
|
|
||||||
|
|
||||||
|
|
||||||
The CATALINA_HOME and CATALINA_BASE variables cannot be configured in the
|
|
||||||
setenv script, because they are used to locate that file.
|
|
||||||
|
|
||||||
All the environment variables described here and the "setenv" script are
|
|
||||||
used only if you use the standard scripts to launch Tomcat. For example, if
|
|
||||||
you have installed Tomcat as a service on Windows, the service wrapper
|
|
||||||
launches Java directly and does not use the script files.
|
|
||||||
|
|
||||||
|
|
||||||
(4) Start Up Tomcat
|
|
||||||
|
|
||||||
(4.1) Tomcat can be started by executing one of the following commands:
|
|
||||||
|
|
||||||
On Windows:
|
|
||||||
|
|
||||||
%CATALINA_HOME%\bin\startup.bat
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
%CATALINA_HOME%\bin\catalina.bat start
|
|
||||||
|
|
||||||
On *nix:
|
|
||||||
|
|
||||||
$CATALINA_HOME/bin/startup.sh
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
$CATALINA_HOME/bin/catalina.sh start
|
|
||||||
|
|
||||||
(4.2) After startup, the default web applications included with Tomcat will be
|
|
||||||
available by visiting:
|
|
||||||
|
|
||||||
http://localhost:8080/
|
|
||||||
|
|
||||||
(4.3) Further information about configuring and running Tomcat can be found in
|
|
||||||
the documentation included here, as well as on the Tomcat web site:
|
|
||||||
|
|
||||||
https://tomcat.apache.org/
|
|
||||||
|
|
||||||
|
|
||||||
(5) Shut Down Tomcat
|
|
||||||
|
|
||||||
(5.1) Tomcat can be shut down by executing one of the following commands:
|
|
||||||
|
|
||||||
On Windows:
|
|
||||||
|
|
||||||
%CATALINA_HOME%\bin\shutdown.bat
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
%CATALINA_HOME%\bin\catalina.bat stop
|
|
||||||
|
|
||||||
On *nix:
|
|
||||||
|
|
||||||
$CATALINA_HOME/bin/shutdown.sh
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
$CATALINA_HOME/bin/catalina.sh stop
|
|
||||||
|
|
||||||
==================================================
|
|
||||||
Advanced Configuration - Multiple Tomcat Instances
|
|
||||||
==================================================
|
|
||||||
|
|
||||||
In many circumstances, it is desirable to have a single copy of a Tomcat
|
|
||||||
binary distribution shared among multiple users on the same server. To make
|
|
||||||
this possible, you can set the CATALINA_BASE environment variable to the
|
|
||||||
directory that contains the files for your 'personal' Tomcat instance.
|
|
||||||
|
|
||||||
When running with a separate CATALINA_HOME and CATALINA_BASE, the files
|
|
||||||
and directories are split as following:
|
|
||||||
|
|
||||||
In CATALINA_BASE:
|
|
||||||
|
|
||||||
* bin - Only the following files:
|
|
||||||
|
|
||||||
* setenv.sh (*nix) or setenv.bat (Windows),
|
|
||||||
* tomcat-juli.jar
|
|
||||||
|
|
||||||
The setenv scripts were described above. The tomcat-juli library
|
|
||||||
is documented in the Logging chapter in the User Guide.
|
|
||||||
|
|
||||||
* conf - Server configuration files (including server.xml)
|
|
||||||
|
|
||||||
* lib - Libraries and classes, as explained below
|
|
||||||
|
|
||||||
* logs - Log and output files
|
|
||||||
|
|
||||||
* webapps - Automatically loaded web applications
|
|
||||||
|
|
||||||
* work - Temporary working directories for web applications
|
|
||||||
|
|
||||||
* temp - Directory used by the JVM for temporary files (java.io.tmpdir)
|
|
||||||
|
|
||||||
|
|
||||||
In CATALINA_HOME:
|
|
||||||
|
|
||||||
* bin - Startup and shutdown scripts
|
|
||||||
|
|
||||||
The following files will be used only if they are absent in
|
|
||||||
CATALINA_BASE/bin:
|
|
||||||
|
|
||||||
setenv.sh (*nix), setenv.bat (Windows), tomcat-juli.jar
|
|
||||||
|
|
||||||
* lib - Libraries and classes, as explained below
|
|
||||||
|
|
||||||
* endorsed - Libraries that override standard "Endorsed Standards"
|
|
||||||
libraries provided by JRE. See Classloading documentation
|
|
||||||
in the User Guide for details.
|
|
||||||
This is only supported for Java <= 8.
|
|
||||||
By default this "endorsed" directory is absent.
|
|
||||||
|
|
||||||
In the default configuration the JAR libraries and classes both in
|
|
||||||
CATALINA_BASE/lib and in CATALINA_HOME/lib will be added to the common
|
|
||||||
classpath, but the ones in CATALINA_BASE will be added first and thus will
|
|
||||||
be searched first.
|
|
||||||
|
|
||||||
The idea is that you may leave the standard Tomcat libraries in
|
|
||||||
CATALINA_HOME/lib and add other ones such as database drivers into
|
|
||||||
CATALINA_BASE/lib.
|
|
||||||
|
|
||||||
In general it is advised to never share libraries between web applications,
|
|
||||||
but put them into WEB-INF/lib directories inside the applications. See
|
|
||||||
Classloading documentation in the User Guide for details.
|
|
||||||
|
|
||||||
|
|
||||||
It might be useful to note that the values of CATALINA_HOME and
|
|
||||||
CATALINA_BASE can be referenced in the XML configuration files processed
|
|
||||||
by Tomcat as ${catalina.home} and ${catalina.base} respectively.
|
|
||||||
|
|
||||||
For example, the standard manager web application can be kept in
|
|
||||||
CATALINA_HOME/webapps/manager and loaded into CATALINA_BASE by copying
|
|
||||||
its deployment descriptor into the desired virtual host:
|
|
||||||
|
|
||||||
* Copy the CATALINA_HOME/webapps/manager/META-INF/context.xml
|
|
||||||
file as CATALINA_BASE/conf/Catalina/localhost/manager.xml
|
|
||||||
|
|
||||||
* Add docBase attribute as shown below.
|
|
||||||
|
|
||||||
The file will look like the following:
|
|
||||||
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Context docBase="${catalina.home}/webapps/manager"
|
|
||||||
antiResourceLocking="false" privileged="true" >
|
|
||||||
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
|
|
||||||
allow="127\.0\.0\.1" />
|
|
||||||
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
|
|
||||||
</Context>
|
|
||||||
|
|
||||||
See Deployer chapter in User Guide and Context and Host chapters in the
|
|
||||||
Configuration Reference for more information on contexts and web
|
|
||||||
application deployment.
|
|
||||||
|
|
||||||
|
|
||||||
================
|
|
||||||
Troubleshooting
|
|
||||||
================
|
|
||||||
|
|
||||||
There are only really 2 things likely to go wrong during the stand-alone
|
|
||||||
Tomcat install:
|
|
||||||
|
|
||||||
(1) The most common hiccup is when another web server (or any process for that
|
|
||||||
matter) has laid claim to port 8080. This is the default HTTP port that
|
|
||||||
Tomcat attempts to bind to at startup. To change this, open the file:
|
|
||||||
|
|
||||||
$CATALINA_HOME/conf/server.xml
|
|
||||||
|
|
||||||
and search for '8080'. Change it to a port that isn't in use, and is
|
|
||||||
greater than 1024, as ports less than or equal to 1024 require superuser
|
|
||||||
access to bind under UNIX.
|
|
||||||
|
|
||||||
Restart Tomcat and you're in business. Be sure that you replace the "8080"
|
|
||||||
in the URL you're using to access Tomcat. For example, if you change the
|
|
||||||
port to 1977, you would request the URL http://localhost:1977/ in your
|
|
||||||
browser.
|
|
||||||
|
|
||||||
(2) The 'localhost' machine isn't found. This could happen if you're behind a
|
|
||||||
proxy. If that's the case, make sure the proxy configuration for your
|
|
||||||
browser knows that you shouldn't be going through the proxy to access the
|
|
||||||
"localhost".
|
|
||||||
|
|
||||||
In Firefox, this is under Tools/Preferences -> Advanced/Network ->
|
|
||||||
Connection -> Settings..., and in Internet Explorer it is Tools ->
|
|
||||||
Internet Options -> Connections -> LAN Settings.
|
|
||||||
|
|
||||||
|
|
||||||
====================
|
|
||||||
Optional Components
|
|
||||||
====================
|
|
||||||
|
|
||||||
The following optional components may be included with the Apache Tomcat binary
|
|
||||||
distribution. If they are not included, you can install them separately.
|
|
||||||
|
|
||||||
1. Apache Tomcat Native library
|
|
||||||
|
|
||||||
2. Apache Commons Daemon service launcher
|
|
||||||
|
|
||||||
Both of them are implemented in C language and as such have to be compiled
|
|
||||||
into binary code. The binary code will be specific for a platform and CPU
|
|
||||||
architecture and it must match the Java Runtime Environment executables
|
|
||||||
that will be used to launch Tomcat.
|
|
||||||
|
|
||||||
The Windows-specific binary distributions of Apache Tomcat include binary
|
|
||||||
files for these components. On other platforms you would have to look for
|
|
||||||
binary versions elsewhere or compile them yourself.
|
|
||||||
|
|
||||||
If you are new to Tomcat, do not bother with these components to start with.
|
|
||||||
If you do use them, do not forget to read their documentation.
|
|
||||||
|
|
||||||
|
|
||||||
Apache Tomcat Native library
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
It is a library that allows to use the "Apr" variant of HTTP and AJP
|
|
||||||
protocol connectors in Apache Tomcat. It is built around OpenSSL and Apache
|
|
||||||
Portable Runtime (APR) libraries. Those are the same libraries as used by
|
|
||||||
Apache HTTPD Server project.
|
|
||||||
|
|
||||||
This feature was especially important in the old days when Java performance
|
|
||||||
was poor. It is less important nowadays, but it is still used and respected
|
|
||||||
by many. See Tomcat documentation for more details.
|
|
||||||
|
|
||||||
For further reading:
|
|
||||||
|
|
||||||
- Apache Tomcat documentation
|
|
||||||
|
|
||||||
* Documentation for APR/Native library in the Tomcat User's Guide
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/apr.html
|
|
||||||
|
|
||||||
* Documentation for the HTTP and AJP protocol connectors in the Tomcat
|
|
||||||
Configuration Reference
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/config/http.html
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/config/ajp.html
|
|
||||||
|
|
||||||
- Apache Tomcat Native project home
|
|
||||||
|
|
||||||
https://tomcat.apache.org/native-doc/
|
|
||||||
|
|
||||||
- Other projects
|
|
||||||
|
|
||||||
* OpenSSL
|
|
||||||
|
|
||||||
https://www.openssl.org/
|
|
||||||
|
|
||||||
* Apache Portable Runtime
|
|
||||||
|
|
||||||
https://apr.apache.org/
|
|
||||||
|
|
||||||
* Apache HTTP Server
|
|
||||||
|
|
||||||
https://httpd.apache.org/
|
|
||||||
|
|
||||||
To deactivate Apache Tomcat Native library:
|
|
||||||
|
|
||||||
- To deactivate Apache Tomcat Native library when it is installed, or
|
|
||||||
- To remove the warning that is logged during Tomcat startup when the
|
|
||||||
library is not installed:
|
|
||||||
|
|
||||||
Edit the "conf/server.xml" file and remove "AprLifecycleListener" from
|
|
||||||
it.
|
|
||||||
|
|
||||||
The binary file of Apache Tomcat Native library is usually named
|
|
||||||
|
|
||||||
- "tcnative-1.dll" on Windows
|
|
||||||
- "libtcnative-1.so" on *nix systems
|
|
||||||
|
|
||||||
|
|
||||||
Apache Commons Daemon
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Apache Commons Daemon project provides wrappers that can be used to
|
|
||||||
install Apache Tomcat as a service on Windows or as a daemon on *nix
|
|
||||||
systems.
|
|
||||||
|
|
||||||
The Windows-specific implementation of Apache Commons Daemon is called
|
|
||||||
"procrun". The *nix-specific one is called "jsvc".
|
|
||||||
|
|
||||||
For further reading:
|
|
||||||
|
|
||||||
- Apache Commons Daemon project
|
|
||||||
|
|
||||||
https://commons.apache.org/daemon/
|
|
||||||
|
|
||||||
- Apache Tomcat documentation
|
|
||||||
|
|
||||||
* Installing Apache Tomcat
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/setup.html
|
|
||||||
|
|
||||||
* Windows Service How-To
|
|
||||||
|
|
||||||
https://tomcat.apache.org/tomcat-8.5-doc/windows-service-howto.html
|
|
||||||
|
|
||||||
The binary files of Apache Commons Daemon in Apache Tomcat distributions
|
|
||||||
for Windows are named:
|
|
||||||
|
|
||||||
- "tomcat8.exe"
|
|
||||||
- "tomcat8w.exe"
|
|
||||||
|
|
||||||
These files are renamed copies of "prunsrv.exe" and "prunmgr.exe" from
|
|
||||||
Apache Commons Daemon distribution. The file names have a meaning: they are
|
|
||||||
used as the service name to register the service in Windows, as well as the
|
|
||||||
key name to store distinct configuration for this installation of
|
|
||||||
"procrun". If you would like to install several instances of Tomcat 8.5
|
|
||||||
in parallel, you have to further rename those files, using the same naming
|
|
||||||
scheme.
|
|
@ -1,44 +0,0 @@
|
|||||||
<%--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
--%>
|
|
||||||
<%@ page session="false" trimDirectiveWhitespaces="true" %>
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>403 Access Denied</title>
|
|
||||||
<style type="text/css">
|
|
||||||
<!--
|
|
||||||
BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
|
|
||||||
H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
|
|
||||||
PRE, TT {border: 1px dotted #525D76}
|
|
||||||
A {color : black;}A.name {color : black;}
|
|
||||||
-->
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>403 Access Denied</h1>
|
|
||||||
<p>
|
|
||||||
You are not authorized to view this page.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
By default the documentation web application is only accessible from a browser
|
|
||||||
running on the same machine as Tomcat. If you wish to modify this
|
|
||||||
restriction, you'll need to edit the documentation web applications's
|
|
||||||
<tt>context.xml</tt> file.
|
|
||||||
</p>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -1,35 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
|
|
||||||
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
|
|
||||||
version="3.1"
|
|
||||||
metadata-complete="true">
|
|
||||||
|
|
||||||
<display-name>Tomcat Documentation</display-name>
|
|
||||||
<description>
|
|
||||||
Tomcat Documentation.
|
|
||||||
</description>
|
|
||||||
|
|
||||||
<error-page>
|
|
||||||
<error-code>403</error-code>
|
|
||||||
<location>/WEB-INF/jsp/403.jsp</location>
|
|
||||||
</error-page>
|
|
||||||
|
|
||||||
</web-app>
|
|
@ -1,55 +0,0 @@
|
|||||||
<!DOCTYPE html SYSTEM "about:legacy-compat">
|
|
||||||
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="./images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Apache Tomcat 8 (8.5.88) - Advanced IO and Tomcat</title><meta name="author" content="Remy Maucherat"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="https://tomcat.apache.org/"><img alt="Tomcat Home" src="./images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="./images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Apache Tomcat 8</h1><div class="versionInfo">
|
|
||||||
Version 8.5.88,
|
|
||||||
<time datetime="2023-04-14">Apr 14 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="index.html">Docs Home</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>User Guide</h2><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="host-manager-howto.html">6) Host Manager</a></li><li><a href="realm-howto.html">7) Realms and AAA</a></li><li><a href="security-manager-howto.html">8) Security Manager</a></li><li><a href="jndi-resources-howto.html">9) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">10) JDBC DataSources</a></li><li><a href="class-loader-howto.html">11) Classloading</a></li><li><a href="jasper-howto.html">12) JSPs</a></li><li><a href="ssl-howto.html">13) SSL/TLS</a></li><li><a href="ssi-howto.html">14) SSI</a></li><li><a href="cgi-howto.html">15) CGI</a></li><li><a href="proxy-howto.html">16) Proxy Support</a></li><li><a href="mbeans-descriptors-howto.html">17) MBeans Descriptors</a></li><li><a href="default-servlet.html">18) Default Servlet</a></li><li><a href="cluster-howto.html">19) Clustering</a></li><li><a href="balancer-howto.html">20) Load Balancer</a></li><li><a href="connectors.html">21) Connectors</a></li><li><a href="monitoring.html">22) Monitoring and Management</a></li><li><a href="logging.html">23) Logging</a></li><li><a href="apr.html">24) APR/Native</a></li><li><a href="virtual-hosting-howto.html">25) Virtual Hosting</a></li><li><a href="aio.html">26) Advanced IO</a></li><li><a href="extras.html">27) Additional Components</a></li><li><a href="maven-jars.html">28) Mavenized</a></li><li><a href="security-howto.html">29) Security Considerations</a></li><li><a href="windows-service-howto.html">30) Windows Service</a></li><li><a href="windows-auth-howto.html">31) Windows Authentication</a></li><li><a href="jdbc-pool.html">32) Tomcat's JDBC Pool</a></li><li><a href="web-socket-howto.html">33) WebSocket</a></li><li><a href="rewrite.html">34) Rewrite</a></li></ul></div><div><h2>Reference</h2><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Tomcat Javadocs</a></li><li><a href="servletapi/index.html">Servlet 4.0 Javadocs</a></li><li><a href="jspapi/index.html">JSP 2.3 Javadocs</a></li><li><a href="elapi/index.html">EL 3.0 Javadocs</a></li><li><a href="websocketapi/index.html">WebSocket 1.1 Javadocs</a></li><li><a href="jaspicapi/index.html">JASPIC 1.1 Javadocs</a></li><li><a href="annotationapi/index.html">Common Annotations 1.2 Javadocs</a></li><li><a href="https://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul></div><div><h2>Apache Tomcat Development</h2><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/Tomcat+Versions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="tribes/introduction.html">Tribes</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Advanced IO and Tomcat</h2><h3 id="Table_of_Contents">Table of Contents</h3><div class="text">
|
|
||||||
<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Asynchronous_writes">Asynchronous writes</a></li></ul>
|
|
||||||
</div><h3 id="Introduction">Introduction</h3><div class="text">
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<b>IMPORTANT NOTE: Usage of these features requires using the
|
|
||||||
HTTP connectors. The AJP connectors do not support them.</b>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</div><h3 id="Asynchronous_writes">Asynchronous writes</h3><div class="text">
|
|
||||||
|
|
||||||
<p>
|
|
||||||
When using HTTP connectors (based on APR or NIO/NIO2),
|
|
||||||
Tomcat supports using sendfile to send large static files.
|
|
||||||
These writes, as soon as the system load increases, will be performed
|
|
||||||
asynchronously in the most efficient way. Instead of sending a large response using
|
|
||||||
blocking writes, it is possible to write content to a static file, and write it
|
|
||||||
using a sendfile code. A caching valve could take advantage of this to cache the
|
|
||||||
response data in a file rather than store it in memory. Sendfile support is
|
|
||||||
available if the request attribute <code>org.apache.tomcat.sendfile.support</code>
|
|
||||||
is set to <code>Boolean.TRUE</code>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Any servlet can instruct Tomcat to perform a sendfile call by setting the appropriate
|
|
||||||
request attributes. It is also necessary to correctly set the content length
|
|
||||||
for the response. When using sendfile, it is best to ensure that neither the
|
|
||||||
request or response have been wrapped, since as the response body will be sent later
|
|
||||||
by the connector itself, it cannot be filtered. Other than setting the 3 needed
|
|
||||||
request attributes, the servlet should not send any response data, but it may use
|
|
||||||
any method which will result in modifying the response header (like setting cookies).
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><code>org.apache.tomcat.sendfile.filename</code>: Canonical filename of the file which will be sent as
|
|
||||||
a String</li>
|
|
||||||
<li><code>org.apache.tomcat.sendfile.start</code>: Start offset as a Long</li>
|
|
||||||
<li><code>org.apache.tomcat.sendfile.end</code>: End offset as a Long</li>
|
|
||||||
</ul>
|
|
||||||
<p>
|
|
||||||
In addition to setting these parameters it is necessary to set the content-length header.
|
|
||||||
Tomcat will not do that for you, since you may have already written data to the output stream.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Note that the use of sendfile will disable any compression that Tomcat may
|
|
||||||
otherwise have performed on the response.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</div></div></div></div></div><footer><div id="footer">
|
|
||||||
Copyright © 1999-2023, The Apache Software Foundation
|
|
||||||
</div></footer></div></body></html>
|
|
@ -1,34 +0,0 @@
|
|||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<title>API docs</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
The Annotation API Javadoc is not installed by default. Download and install
|
|
||||||
the "fulldocs" package to get it.
|
|
||||||
|
|
||||||
You can also access the javadoc online in the Tomcat
|
|
||||||
<a href="https://tomcat.apache.org/tomcat-8.5-doc/">
|
|
||||||
documentation bundle</a>.
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,34 +0,0 @@
|
|||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<title>API docs</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
Tomcat's internal javadoc is not installed by default. Download and install
|
|
||||||
the "fulldocs" package to get it.
|
|
||||||
|
|
||||||
You can also access the javadoc online in the Tomcat
|
|
||||||
<a href="https://tomcat.apache.org/tomcat-8.5-doc/">
|
|
||||||
documentation bundle</a>.
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,508 +0,0 @@
|
|||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
General purpose build script for web applications and web services,
|
|
||||||
including enhanced support for deploying directly to a Tomcat
|
|
||||||
based server.
|
|
||||||
|
|
||||||
This build script assumes that the source code of your web application
|
|
||||||
is organized into the following subdirectories underneath the source
|
|
||||||
code directory from which you execute the build script:
|
|
||||||
|
|
||||||
docs Static documentation files to be copied to
|
|
||||||
the "docs" subdirectory of your distribution.
|
|
||||||
|
|
||||||
src Java source code (and associated resource files)
|
|
||||||
to be compiled to the "WEB-INF/classes"
|
|
||||||
subdirectory of your web application.
|
|
||||||
|
|
||||||
web Static HTML, JSP, and other content (such as
|
|
||||||
image files), including the WEB-INF subdirectory
|
|
||||||
and its configuration file contents.
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- A "project" describes a set of targets that may be requested
|
|
||||||
when Ant is executed. The "default" attribute defines the
|
|
||||||
target which is executed if no specific target is requested,
|
|
||||||
and the "basedir" attribute defines the current working directory
|
|
||||||
from which Ant executes the requested task. This is normally
|
|
||||||
set to the current working directory.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<project name="My Project" default="compile" basedir=".">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ===================== Property Definitions =========================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Each of the following properties are used in the build script.
|
|
||||||
Values for these properties are set by the first place they are
|
|
||||||
defined, from the following list:
|
|
||||||
|
|
||||||
* Definitions on the "ant" command line (ant -Dfoo=bar compile).
|
|
||||||
|
|
||||||
* Definitions from a "build.properties" file in the top level
|
|
||||||
source directory of this application.
|
|
||||||
|
|
||||||
* Definitions from a "build.properties" file in the developer's
|
|
||||||
home directory.
|
|
||||||
|
|
||||||
* Default definitions in this build.xml file.
|
|
||||||
|
|
||||||
You will note below that property values can be composed based on the
|
|
||||||
contents of previously defined properties. This is a powerful technique
|
|
||||||
that helps you minimize the number of changes required when your development
|
|
||||||
environment is modified. Note that property composition is allowed within
|
|
||||||
"build.properties" files as well as in the "build.xml" script.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<property file="build.properties"/>
|
|
||||||
<property file="${user.home}/build.properties"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== File and Directory Names ======================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
These properties generally define file and directory names (or paths) that
|
|
||||||
affect where the build process stores its outputs.
|
|
||||||
|
|
||||||
app.name Base name of this application, used to
|
|
||||||
construct filenames and directories.
|
|
||||||
Defaults to "myapp".
|
|
||||||
|
|
||||||
app.path Context path to which this application should be
|
|
||||||
deployed (defaults to "/" plus the value of the
|
|
||||||
"app.name" property).
|
|
||||||
|
|
||||||
app.version Version number of this iteration of the application.
|
|
||||||
|
|
||||||
build.home The directory into which the "prepare" and
|
|
||||||
"compile" targets will generate their output.
|
|
||||||
Defaults to "build".
|
|
||||||
|
|
||||||
catalina.home The directory in which you have installed
|
|
||||||
a binary distribution of Tomcat. This will
|
|
||||||
be used by the "deploy" target.
|
|
||||||
|
|
||||||
dist.home The name of the base directory in which
|
|
||||||
distribution files are created.
|
|
||||||
Defaults to "dist".
|
|
||||||
|
|
||||||
manager.password The login password of a user that is assigned the
|
|
||||||
"manager-script" role (so that they can execute
|
|
||||||
commands via the "/manager" web application)
|
|
||||||
|
|
||||||
manager.url The URL of the "/manager" web application on the
|
|
||||||
Tomcat installation to which we will deploy web
|
|
||||||
applications and web services.
|
|
||||||
|
|
||||||
manager.username The login username of a user that is assigned the
|
|
||||||
"manager-script" role (so that they can execute
|
|
||||||
commands via the "/manager" web application)
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<property name="app.name" value="myapp"/>
|
|
||||||
<property name="app.path" value="/${app.name}"/>
|
|
||||||
<property name="app.version" value="0.1-dev"/>
|
|
||||||
<property name="build.home" value="${basedir}/build"/>
|
|
||||||
<property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
|
|
||||||
<property name="dist.home" value="${basedir}/dist"/>
|
|
||||||
<property name="docs.home" value="${basedir}/docs"/>
|
|
||||||
<property name="manager.url" value="http://localhost:8080/manager/text"/>
|
|
||||||
<property name="src.home" value="${basedir}/src"/>
|
|
||||||
<property name="web.home" value="${basedir}/web"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== External Dependencies =========================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Use property values to define the locations of external JAR files on which
|
|
||||||
your application will depend. In general, these values will be used for
|
|
||||||
two purposes:
|
|
||||||
* Inclusion on the classpath that is passed to the Javac compiler
|
|
||||||
* Being copied into the "/WEB-INF/lib" directory during execution
|
|
||||||
of the "deploy" target.
|
|
||||||
|
|
||||||
Because we will automatically include all of the Java classes that Tomcat
|
|
||||||
exposes to web applications, we will not need to explicitly list any of those
|
|
||||||
dependencies. You only need to worry about external dependencies for JAR
|
|
||||||
files that you are going to include inside your "/WEB-INF/lib" directory.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Dummy external dependency -->
|
|
||||||
<!--
|
|
||||||
<property name="foo.jar"
|
|
||||||
value="/path/to/foo.jar"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Compilation Classpath =========================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Rather than relying on the CLASSPATH environment variable, Ant includes
|
|
||||||
features that makes it easy to dynamically construct the classpath you
|
|
||||||
need for each compilation. The example below constructs the compile
|
|
||||||
classpath to include the servlet.jar file, as well as the other components
|
|
||||||
that Tomcat makes available to web applications automatically, plus anything
|
|
||||||
that you explicitly added.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<path id="compile.classpath">
|
|
||||||
|
|
||||||
<!-- Include all JAR files that will be included in /WEB-INF/lib -->
|
|
||||||
<!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
|
|
||||||
<!--
|
|
||||||
<pathelement location="${foo.jar}"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Include all elements that Tomcat exposes to applications -->
|
|
||||||
<fileset dir="${catalina.home}/bin">
|
|
||||||
<include name="*.jar"/>
|
|
||||||
</fileset>
|
|
||||||
<pathelement location="${catalina.home}/lib"/>
|
|
||||||
<fileset dir="${catalina.home}/lib">
|
|
||||||
<include name="*.jar"/>
|
|
||||||
</fileset>
|
|
||||||
|
|
||||||
</path>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ================== Custom Ant Task Definitions ======================= -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
These properties define custom tasks for the Ant build tool that interact
|
|
||||||
with the "/manager" web application installed with Tomcat. Before they
|
|
||||||
can be successfully utilized, you must perform the following steps:
|
|
||||||
|
|
||||||
- Copy the file "lib/catalina-ant.jar" from your Tomcat
|
|
||||||
installation into the "lib" directory of your Ant installation.
|
|
||||||
|
|
||||||
- Create a "build.properties" file in your application's top-level
|
|
||||||
source directory (or your user login home directory) that defines
|
|
||||||
appropriate values for the "manager.password", "manager.url", and
|
|
||||||
"manager.username" properties described above.
|
|
||||||
|
|
||||||
For more information about the Manager web application, and the functionality
|
|
||||||
of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<taskdef resource="org/apache/catalina/ant/catalina.tasks"
|
|
||||||
classpathref="compile.classpath"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Compilation Control Options ==================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
These properties control option settings on the Javac compiler when it
|
|
||||||
is invoked using the <javac> task.
|
|
||||||
|
|
||||||
compile.debug Should compilation include the debug option?
|
|
||||||
|
|
||||||
compile.deprecation Should compilation include the deprecation option?
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<property name="compile.debug" value="true"/>
|
|
||||||
<property name="compile.deprecation" value="false"/>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== All Target ====================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "all" target is a shortcut for running the "clean" target followed
|
|
||||||
by the "compile" target, to force a complete recompile.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="all" depends="clean,compile"
|
|
||||||
description="Clean build and dist directories, then compile"/>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Clean Target ==================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "clean" target deletes any previous "build" and "dist" directory,
|
|
||||||
so that you can be ensured the application can be built from scratch.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="clean"
|
|
||||||
description="Delete old build and dist directories">
|
|
||||||
<delete dir="${build.home}"/>
|
|
||||||
<delete dir="${dist.home}"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Compile Target ================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "compile" target transforms source files (from your "src" directory)
|
|
||||||
into object files in the appropriate location in the build directory.
|
|
||||||
This example assumes that you will be including your classes in an
|
|
||||||
unpacked directory hierarchy under "/WEB-INF/classes".
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="compile" depends="prepare"
|
|
||||||
description="Compile Java sources">
|
|
||||||
|
|
||||||
<!-- Compile Java classes as necessary -->
|
|
||||||
<mkdir dir="${build.home}/WEB-INF/classes"/>
|
|
||||||
<javac srcdir="${src.home}"
|
|
||||||
destdir="${build.home}/WEB-INF/classes"
|
|
||||||
debug="${compile.debug}"
|
|
||||||
deprecation="${compile.deprecation}">
|
|
||||||
<classpath refid="compile.classpath"/>
|
|
||||||
</javac>
|
|
||||||
|
|
||||||
<!-- Copy application resources -->
|
|
||||||
<copy todir="${build.home}/WEB-INF/classes">
|
|
||||||
<fileset dir="${src.home}" excludes="**/*.java"/>
|
|
||||||
</copy>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Dist Target ===================================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "dist" target creates a binary distribution of your application
|
|
||||||
in a directory structure ready to be archived in a tar.gz or zip file.
|
|
||||||
Note that this target depends on two others:
|
|
||||||
|
|
||||||
* "compile" so that the entire web application (including external
|
|
||||||
dependencies) will have been assembled
|
|
||||||
|
|
||||||
* "javadoc" so that the application Javadocs will have been created
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="dist" depends="compile,javadoc"
|
|
||||||
description="Create binary distribution">
|
|
||||||
|
|
||||||
<!-- Copy documentation subdirectories -->
|
|
||||||
<mkdir dir="${dist.home}/docs"/>
|
|
||||||
<copy todir="${dist.home}/docs">
|
|
||||||
<fileset dir="${docs.home}"/>
|
|
||||||
</copy>
|
|
||||||
|
|
||||||
<!-- Create application JAR file -->
|
|
||||||
<jar jarfile="${dist.home}/${app.name}-${app.version}.war"
|
|
||||||
basedir="${build.home}"/>
|
|
||||||
|
|
||||||
<!-- Copy additional files to ${dist.home} as necessary -->
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Install Target ================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "install" target tells the specified Tomcat installation to dynamically
|
|
||||||
install this web application and make it available for execution. It does
|
|
||||||
*not* cause the existence of this web application to be remembered across
|
|
||||||
Tomcat restarts; if you restart the server, you will need to re-install all
|
|
||||||
this web application.
|
|
||||||
|
|
||||||
If you have already installed this application, and simply want Tomcat to
|
|
||||||
recognize that you have updated Java classes (or the web.xml file), use the
|
|
||||||
"reload" target instead.
|
|
||||||
|
|
||||||
NOTE: This target will only succeed if it is run from the same server that
|
|
||||||
Tomcat is running on.
|
|
||||||
|
|
||||||
NOTE: This is the logical opposite of the "remove" target.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="install" depends="compile"
|
|
||||||
description="Install application to servlet container">
|
|
||||||
|
|
||||||
<deploy url="${manager.url}"
|
|
||||||
username="${manager.username}"
|
|
||||||
password="${manager.password}"
|
|
||||||
path="${app.path}"
|
|
||||||
localWar="file://${build.home}"/>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Javadoc Target ================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "javadoc" target creates Javadoc API documentation for the Java
|
|
||||||
classes included in your application. Normally, this is only required
|
|
||||||
when preparing a distribution release, but is available as a separate
|
|
||||||
target in case the developer wants to create Javadocs independently.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="javadoc" depends="compile"
|
|
||||||
description="Create Javadoc API documentation">
|
|
||||||
|
|
||||||
<mkdir dir="${dist.home}/docs/api"/>
|
|
||||||
<javadoc sourcepath="${src.home}"
|
|
||||||
destdir="${dist.home}/docs/api"
|
|
||||||
packagenames="*">
|
|
||||||
<classpath refid="compile.classpath"/>
|
|
||||||
</javadoc>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ====================== List Target =================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "list" target asks the specified Tomcat installation to list the
|
|
||||||
currently running web applications, either loaded at startup time or
|
|
||||||
installed dynamically. It is useful to determine whether or not the
|
|
||||||
application you are currently developing has been installed.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="list"
|
|
||||||
description="List installed applications on servlet container">
|
|
||||||
|
|
||||||
<list url="${manager.url}"
|
|
||||||
username="${manager.username}"
|
|
||||||
password="${manager.password}"/>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Prepare Target ================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "prepare" target is used to create the "build" destination directory,
|
|
||||||
and copy the static contents of your web application to it. If you need
|
|
||||||
to copy static files from external dependencies, you can customize the
|
|
||||||
contents of this task.
|
|
||||||
|
|
||||||
Normally, this task is executed indirectly when needed.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="prepare">
|
|
||||||
|
|
||||||
<!-- Create build directories as needed -->
|
|
||||||
<mkdir dir="${build.home}"/>
|
|
||||||
<mkdir dir="${build.home}/WEB-INF"/>
|
|
||||||
<mkdir dir="${build.home}/WEB-INF/classes"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Copy static content of this web application -->
|
|
||||||
<copy todir="${build.home}">
|
|
||||||
<fileset dir="${web.home}"/>
|
|
||||||
</copy>
|
|
||||||
|
|
||||||
<!-- Copy external dependencies as required -->
|
|
||||||
<!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
|
|
||||||
<mkdir dir="${build.home}/WEB-INF/lib"/>
|
|
||||||
<!--
|
|
||||||
<copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Copy static files from external dependencies as needed -->
|
|
||||||
<!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Reload Target =================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "reload" signals the specified application Tomcat to shut itself down
|
|
||||||
and reload. This can be useful when the web application context is not
|
|
||||||
reloadable and you have updated classes or property files in the
|
|
||||||
/WEB-INF/classes directory or when you have added or updated jar files in the
|
|
||||||
/WEB-INF/lib directory.
|
|
||||||
|
|
||||||
NOTE: The /WEB-INF/web.xml web application configuration file is not reread
|
|
||||||
on a reload. If you have made changes to your web.xml file you must stop
|
|
||||||
then start the web application.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="reload" depends="compile"
|
|
||||||
description="Reload application on servlet container">
|
|
||||||
|
|
||||||
<reload url="${manager.url}"
|
|
||||||
username="${manager.username}"
|
|
||||||
password="${manager.password}"
|
|
||||||
path="${app.path}"/>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Remove Target =================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "remove" target tells the specified Tomcat installation to dynamically
|
|
||||||
remove this web application from service.
|
|
||||||
|
|
||||||
NOTE: This is the logical opposite of the "install" target.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="remove"
|
|
||||||
description="Remove application on servlet container">
|
|
||||||
|
|
||||||
<undeploy url="${manager.url}"
|
|
||||||
username="${manager.username}"
|
|
||||||
password="${manager.password}"
|
|
||||||
path="${app.path}"/>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
</project>
|
|
@ -1,202 +0,0 @@
|
|||||||
<!DOCTYPE html SYSTEM "about:legacy-compat">
|
|
||||||
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Application Developer's Guide (8.5.88) - Deployment</title><meta name="author" content="Craig R. McClanahan"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="https://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Application Developer's Guide</h1><div class="versionInfo">
|
|
||||||
Version 8.5.88,
|
|
||||||
<time datetime="2023-04-14">Apr 14 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">App Dev Guide Home</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>Contents</h2><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Deployment</h2><h3 id="Table_of_Contents">Table of Contents</h3><div class="text">
|
|
||||||
<ul><li><a href="#Background">Background</a></li><li><a href="#Standard_Directory_Layout">Standard Directory Layout</a></li><li><a href="#Shared_Library_Files">Shared Library Files</a></li><li><a href="#Web_Application_Deployment_Descriptor">Web Application Deployment Descriptor</a></li><li><a href="#Tomcat_Context_Descriptor">Tomcat Context Descriptor</a></li><li><a href="#Deployment_With_Tomcat">Deployment With Tomcat</a></li></ul>
|
|
||||||
</div><h3 id="Background">Background</h3><div class="text">
|
|
||||||
|
|
||||||
<p>Before describing how to organize your source code directories,
|
|
||||||
it is useful to examine the runtime organization of a web application.
|
|
||||||
Prior to the Servlet API Specification, version 2.2, there was little
|
|
||||||
consistency between server platforms. However, servers that conform
|
|
||||||
to the 2.2 (or later) specification are required to accept a
|
|
||||||
<em>Web Application Archive</em> in a standard format, which is discussed
|
|
||||||
further below.</p>
|
|
||||||
|
|
||||||
<p>A web application is defined as a hierarchy of directories and files
|
|
||||||
in a standard layout. Such a hierarchy can be accessed in its "unpacked"
|
|
||||||
form, where each directory and file exists in the filesystem separately,
|
|
||||||
or in a "packed" form known as a Web ARchive, or WAR file. The former format
|
|
||||||
is more useful during development, while the latter is used when you
|
|
||||||
distribute your application to be installed.</p>
|
|
||||||
|
|
||||||
<p>The top-level directory of your web application hierarchy is also the
|
|
||||||
<em>document root</em> of your application. Here, you will place the HTML
|
|
||||||
files and JSP pages that comprise your application's user interface. When the
|
|
||||||
system administrator deploys your application into a particular server, they
|
|
||||||
assign a <em>context path</em> to your application (a later section
|
|
||||||
of this manual describes deployment on Tomcat). Thus, if the
|
|
||||||
system administrator assigns your application to the context path
|
|
||||||
<code>/catalog</code>, then a request URI referring to
|
|
||||||
<code>/catalog/index.html</code> will retrieve the <code>index.html</code>
|
|
||||||
file from your document root.</p>
|
|
||||||
|
|
||||||
</div><h3 id="Standard_Directory_Layout">Standard Directory Layout</h3><div class="text">
|
|
||||||
|
|
||||||
<p>To facilitate creation of a Web Application Archive file in the required
|
|
||||||
format, it is convenient to arrange the "executable" files of your web
|
|
||||||
application (that is, the files that Tomcat actually uses when executing
|
|
||||||
your app) in the same organization as required by the WAR format itself.
|
|
||||||
To do this, you will end up with the following contents in your
|
|
||||||
application's "document root" directory:</p>
|
|
||||||
<ul>
|
|
||||||
<li><strong>*.html, *.jsp, etc.</strong> - The HTML and JSP pages, along
|
|
||||||
with other files that must be visible to the client browser (such as
|
|
||||||
JavaScript, stylesheet files, and images) for your application.
|
|
||||||
In larger applications you may choose to divide these files into
|
|
||||||
a subdirectory hierarchy, but for smaller apps, it is generally
|
|
||||||
much simpler to maintain only a single directory for these files.
|
|
||||||
<br><br></li>
|
|
||||||
<li><strong>/WEB-INF/web.xml</strong> - The <em>Web Application Deployment
|
|
||||||
Descriptor</em> for your application. This is an XML file describing
|
|
||||||
the servlets and other components that make up your application,
|
|
||||||
along with any initialization parameters and container-managed
|
|
||||||
security constraints that you want the server to enforce for you.
|
|
||||||
This file is discussed in more detail in the following subsection.
|
|
||||||
<br><br></li>
|
|
||||||
<li><strong>/WEB-INF/classes/</strong> - This directory contains any Java
|
|
||||||
class files (and associated resources) required for your application,
|
|
||||||
including both servlet and non-servlet classes, that are not combined
|
|
||||||
into JAR files. If your classes are organized into Java packages,
|
|
||||||
you must reflect this in the directory hierarchy under
|
|
||||||
<code>/WEB-INF/classes/</code>. For example, a Java class named
|
|
||||||
<code>com.mycompany.mypackage.MyServlet</code>
|
|
||||||
would need to be stored in a file named
|
|
||||||
<code>/WEB-INF/classes/com/mycompany/mypackage/MyServlet.class</code>.
|
|
||||||
<br><br></li>
|
|
||||||
<li><strong>/WEB-INF/lib/</strong> - This directory contains JAR files that
|
|
||||||
contain Java class files (and associated resources) required for your
|
|
||||||
application, such as third party class libraries or JDBC drivers.</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>When you install an application into Tomcat (or any other 2.2 or later
|
|
||||||
Servlet container), the classes in the <code>WEB-INF/classes/</code>
|
|
||||||
directory, as well as all classes in JAR files found in the
|
|
||||||
<code>WEB-INF/lib/</code> directory, are made visible to other classes
|
|
||||||
within your particular web application. Thus, if
|
|
||||||
you include all of the required library classes in one of these places (be
|
|
||||||
sure to check licenses for redistribution rights for any third party libraries
|
|
||||||
you utilize), you will simplify the installation of your web application --
|
|
||||||
no adjustment to the system class path (or installation of global library
|
|
||||||
files in your server) will be necessary.</p>
|
|
||||||
|
|
||||||
<p>Much of this information was extracted from Chapter 9 of the Servlet
|
|
||||||
API Specification, version 2.3, which you should consult for more details.</p>
|
|
||||||
|
|
||||||
</div><h3 id="Shared_Library_Files">Shared Library Files</h3><div class="text">
|
|
||||||
|
|
||||||
<p>Like most servlet containers, Tomcat also supports mechanisms to install
|
|
||||||
library JAR files (or unpacked classes) once, and make them visible to all
|
|
||||||
installed web applications (without having to be included inside the web
|
|
||||||
application itself). The details of how Tomcat locates and shares such
|
|
||||||
classes are described in the
|
|
||||||
<a href="../class-loader-howto.html">Class Loader How-To</a> documentation.
|
|
||||||
The location commonly used within a Tomcat installation for shared code is
|
|
||||||
<strong>$CATALINA_HOME/lib</strong>. JAR files placed here are visible both to
|
|
||||||
web applications and internal Tomcat code. This is a good place to put JDBC
|
|
||||||
drivers that are required for both your application or internal Tomcat use
|
|
||||||
(such as for a DataSourceRealm).</p>
|
|
||||||
|
|
||||||
<p>Out of the box, a standard Tomcat installation includes a variety
|
|
||||||
of pre-installed shared library files, including:</p>
|
|
||||||
<ul>
|
|
||||||
<li>The <em>Servlet 3.1</em> and <em>JSP 2.3</em> APIs that are fundamental
|
|
||||||
to writing servlets and JavaServer Pages.<br><br></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div><h3 id="Web_Application_Deployment_Descriptor">Web Application Deployment Descriptor</h3><div class="text">
|
|
||||||
|
|
||||||
<p>As mentioned above, the <code>/WEB-INF/web.xml</code> file contains the
|
|
||||||
Web Application Deployment Descriptor for your application. As the filename
|
|
||||||
extension implies, this file is an XML document, and defines everything about
|
|
||||||
your application that a server needs to know (except the <em>context path</em>,
|
|
||||||
which is assigned by the system administrator when the application is
|
|
||||||
deployed).</p>
|
|
||||||
|
|
||||||
<p>The complete syntax and semantics for the deployment descriptor is defined
|
|
||||||
in Chapter 13 of the Servlet API Specification, version 2.3. Over time, it
|
|
||||||
is expected that development tools will be provided that create and edit the
|
|
||||||
deployment descriptor for you. In the meantime, to provide a starting point,
|
|
||||||
a <a href="web.xml.txt" target="_blank">basic web.xml file</a>
|
|
||||||
is provided. This file includes comments that describe the purpose of each
|
|
||||||
included element.</p>
|
|
||||||
|
|
||||||
<p><strong>NOTE</strong> - The Servlet Specification includes a Document
|
|
||||||
Type Descriptor (DTD) for the web application deployment descriptor, and
|
|
||||||
Tomcat enforces the rules defined here when processing your application's
|
|
||||||
<code>/WEB-INF/web.xml</code> file. In particular, you <strong>must</strong>
|
|
||||||
enter your descriptor elements (such as <code><filter></code>,
|
|
||||||
<code><servlet></code>, and <code><servlet-mapping></code> in
|
|
||||||
the order defined by the DTD (see Section 13.3).</p>
|
|
||||||
|
|
||||||
</div><h3 id="Tomcat_Context_Descriptor">Tomcat Context Descriptor</h3><div class="text">
|
|
||||||
|
|
||||||
<p>A /META-INF/context.xml file can be used to define Tomcat specific
|
|
||||||
configuration options, such as an access log, data sources, session manager
|
|
||||||
configuration and more. This XML file must contain one Context element, which
|
|
||||||
will be considered as if it was the child of the Host element corresponding
|
|
||||||
to the Host to which the web application is being deployed. The
|
|
||||||
<a href="../config/context.html">Tomcat configuration documentation</a> contains
|
|
||||||
information on the Context element.</p>
|
|
||||||
|
|
||||||
</div><h3 id="Deployment_With_Tomcat">Deployment With Tomcat</h3><div class="text">
|
|
||||||
|
|
||||||
<p><em>The description below uses the variable name $CATALINA_BASE to refer the
|
|
||||||
base directory against which most relative paths are resolved. If you have
|
|
||||||
not configured Tomcat for multiple instances by setting a CATALINA_BASE
|
|
||||||
directory, then $CATALINA_BASE will be set to the value of $CATALINA_HOME,
|
|
||||||
the directory into which you have installed Tomcat.</em></p>
|
|
||||||
|
|
||||||
<p>In order to be executed, a web application must be deployed on
|
|
||||||
a servlet container. This is true even during development.
|
|
||||||
We will describe using Tomcat to provide the execution environment.
|
|
||||||
A web application can be deployed in Tomcat by one of the following
|
|
||||||
approaches:</p>
|
|
||||||
<ul>
|
|
||||||
<li><em>Copy unpacked directory hierarchy into a subdirectory in directory
|
|
||||||
<code>$CATALINA_BASE/webapps/</code></em>. Tomcat will assign a
|
|
||||||
context path to your application based on the subdirectory name you
|
|
||||||
choose. We will use this technique in the <code>build.xml</code>
|
|
||||||
file that we construct, because it is the quickest and easiest approach
|
|
||||||
during development. Be sure to restart Tomcat after installing or
|
|
||||||
updating your application.
|
|
||||||
<br><br></li>
|
|
||||||
<li><em>Copy the web application archive file into directory
|
|
||||||
<code>$CATALINA_BASE/webapps/</code></em>. When Tomcat is started, it will
|
|
||||||
automatically expand the web application archive file into its unpacked
|
|
||||||
form, and execute the application that way. This approach would typically
|
|
||||||
be used to install an additional application, provided by a third party
|
|
||||||
vendor or by your internal development staff, into an existing
|
|
||||||
Tomcat installation. <strong>NOTE</strong> - If you use this approach,
|
|
||||||
and wish to update your application later, you must both replace the
|
|
||||||
web application archive file <strong>AND</strong> delete the expanded
|
|
||||||
directory that Tomcat created, and then restart Tomcat, in order to reflect
|
|
||||||
your changes.
|
|
||||||
<br><br></li>
|
|
||||||
<li><em>Use the Tomcat "Manager" web application to deploy and undeploy
|
|
||||||
web applications</em>. Tomcat includes a web application, deployed
|
|
||||||
by default on context path <code>/manager</code>, that allows you to
|
|
||||||
deploy and undeploy applications on a running Tomcat server without
|
|
||||||
restarting it. See <a href="../manager-howto.html">Manager App How-To</a>
|
|
||||||
for more information on using the Manager web application.<br><br></li>
|
|
||||||
<li><em>Use "Manager" Ant Tasks In Your Build Script</em>. Tomcat
|
|
||||||
includes a set of custom task definitions for the <code>Ant</code>
|
|
||||||
build tool that allow you to automate the execution of commands to the
|
|
||||||
"Manager" web application. These tasks are used in the Tomcat deployer.
|
|
||||||
<br><br></li>
|
|
||||||
<li><em>Use the Tomcat Deployer</em>. Tomcat includes a packaged tool
|
|
||||||
bundling the Ant tasks, and can be used to automatically precompile JSPs
|
|
||||||
which are part of the web application before deployment to the server.
|
|
||||||
<br><br></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>Deploying your app on other servlet containers will be specific to each
|
|
||||||
container, but all containers compatible with the Servlet API Specification
|
|
||||||
(version 2.2 or later) are required to accept a web application archive file.
|
|
||||||
Note that other containers are <strong>NOT</strong> required to accept an
|
|
||||||
unpacked directory structure (as Tomcat does), or to provide mechanisms for
|
|
||||||
shared library files, but these features are commonly available.</p>
|
|
||||||
|
|
||||||
</div></div></div></div></div><footer><div id="footer">
|
|
||||||
Copyright © 1999-2023, The Apache Software Foundation
|
|
||||||
</div></footer></div></body></html>
|
|
@ -1,45 +0,0 @@
|
|||||||
<!DOCTYPE html SYSTEM "about:legacy-compat">
|
|
||||||
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Application Developer's Guide (8.5.88) - Table of Contents</title><meta name="author" content="Craig R. McClanahan"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="https://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Application Developer's Guide</h1><div class="versionInfo">
|
|
||||||
Version 8.5.88,
|
|
||||||
<time datetime="2023-04-14">Apr 14 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">App Dev Guide Home</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>Contents</h2><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Table of Contents</h2><h3 id="Preface">Preface</h3><div class="text">
|
|
||||||
|
|
||||||
<p>This manual includes contributions from many members of the Tomcat Project
|
|
||||||
developer community. The following authors have provided significant content:
|
|
||||||
</p>
|
|
||||||
<ul>
|
|
||||||
<li>Craig R. McClanahan
|
|
||||||
(<a href="mailto:craigmcc@apache.org">craigmcc@apache.org</a>)</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div><h3 id="Table_of_Contents">Table of Contents</h3><div class="text">
|
|
||||||
|
|
||||||
<p>The information presented is divided into the following sections:</p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="introduction.html"><strong>Introduction</strong></a> -
|
|
||||||
Briefly describes the information covered here, with
|
|
||||||
links and references to other sources of information.</li>
|
|
||||||
<li><a href="installation.html"><strong>Installation</strong></a> -
|
|
||||||
Covers acquiring and installing the required software
|
|
||||||
components to use Tomcat for web application development.</li>
|
|
||||||
<li><a href="deployment.html"><strong>Deployment Organization</strong></a> -
|
|
||||||
Discusses the standard directory layout for a web application
|
|
||||||
(defined in the Servlet API Specification), the Web Application
|
|
||||||
Deployment Descriptor, and options for integration with Tomcat
|
|
||||||
in your development environment.</li>
|
|
||||||
<li><a href="source.html"><strong>Source Organization</strong></a> -
|
|
||||||
Describes a useful approach to organizing the source code
|
|
||||||
directories for your project, and introduces the
|
|
||||||
<code>build.xml</code> used by Ant to manage compilation.</li>
|
|
||||||
<li><a href="processes.html"><strong>Development Processes</strong></a> -
|
|
||||||
Provides brief descriptions of typical development processes
|
|
||||||
utilizing the recommended deployment and source organizations.</li>
|
|
||||||
<li><a href="sample/" target="_blank"><strong>Example Application</strong></a> -
|
|
||||||
This directory contains a very simple, but functionally complete,
|
|
||||||
"Hello, World" application built according to the principles
|
|
||||||
described in this manual. You can use this application to
|
|
||||||
practice using the described techniques.</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div></div></div></div></div><footer><div id="footer">
|
|
||||||
Copyright © 1999-2023, The Apache Software Foundation
|
|
||||||
</div></footer></div></body></html>
|
|
@ -1,71 +0,0 @@
|
|||||||
<!DOCTYPE html SYSTEM "about:legacy-compat">
|
|
||||||
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Application Developer's Guide (8.5.88) - Installation</title><meta name="author" content="Craig R. McClanahan"><meta name="author" content="Yoav Shapira"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="https://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Application Developer's Guide</h1><div class="versionInfo">
|
|
||||||
Version 8.5.88,
|
|
||||||
<time datetime="2023-04-14">Apr 14 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">App Dev Guide Home</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>Contents</h2><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Installation</h2><h3 id="Installation">Installation</h3><div class="text">
|
|
||||||
|
|
||||||
<p>In order to use Tomcat for developing web applications, you must first
|
|
||||||
install it (and the software it depends on). The required steps are outlined
|
|
||||||
in the following subsections.</p>
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="JDK">JDK</h4><div class="text">
|
|
||||||
|
|
||||||
<p>Tomcat 8.5 was designed to run on Java 7 or later.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>Compatible JDKs for many platforms (or links to where they can be found)
|
|
||||||
are available at
|
|
||||||
<a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a>.</p>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="Tomcat">Tomcat</h4><div class="text">
|
|
||||||
|
|
||||||
<p>Binary downloads of the <strong>Tomcat</strong> server are available from
|
|
||||||
<a href="https://tomcat.apache.org/">https://tomcat.apache.org/</a>.
|
|
||||||
This manual assumes you are using the most recent release
|
|
||||||
of Tomcat 8. Detailed instructions for downloading and installing
|
|
||||||
Tomcat are available <a href="../setup.html">here</a>.</p>
|
|
||||||
|
|
||||||
<p>In the remainder of this manual, example shell scripts assume that you have
|
|
||||||
set an environment variable <code>CATALINA_HOME</code> that contains the
|
|
||||||
pathname to the directory in which Tomcat has been installed. Optionally, if
|
|
||||||
Tomcat has been configured for multiple instances, each instance will have its
|
|
||||||
own <code>CATALINA_BASE</code> configured.</p>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="Ant">Ant</h4><div class="text">
|
|
||||||
|
|
||||||
<p>Binary downloads of the <strong>Ant</strong> build tool are available from
|
|
||||||
<a href="https://ant.apache.org/">https://ant.apache.org/</a>.
|
|
||||||
This manual assumes you are using Ant 1.8 or later. The instructions may
|
|
||||||
also be compatible with other versions, but this has not been tested.</p>
|
|
||||||
|
|
||||||
<p>Download and install Ant.
|
|
||||||
Then, add the <code>bin</code> directory of the Ant distribution to your
|
|
||||||
<code>PATH</code> environment variable, following the standard practices for
|
|
||||||
your operating system platform. Once you have done this, you will be able to
|
|
||||||
execute the <code>ant</code> shell command directly.</p>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="Source_Code_Control">Source Code Control</h4><div class="text">
|
|
||||||
|
|
||||||
<p>Besides the required tools described above, you are strongly encouraged
|
|
||||||
to download and install a <em>source code control</em> system, such as Git,
|
|
||||||
Subversion, CVS or one of the many alternatives. You will need appropriate
|
|
||||||
client tools to check out source code files, and check in modified versions and,
|
|
||||||
depending on the tool and hosting option you choose, you may need to obtain and
|
|
||||||
install server software or sign up for an account with a cloud provider.</p>
|
|
||||||
|
|
||||||
<p>Detailed instructions for installing and using source code control
|
|
||||||
applications is beyond the scope of this manual.</p>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
</div></div></div></div></div><footer><div id="footer">
|
|
||||||
Copyright © 1999-2023, The Apache Software Foundation
|
|
||||||
</div></footer></div></body></html>
|
|
@ -1,58 +0,0 @@
|
|||||||
<!DOCTYPE html SYSTEM "about:legacy-compat">
|
|
||||||
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Application Developer's Guide (8.5.88) - Introduction</title><meta name="author" content="Craig R. McClanahan"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="https://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Application Developer's Guide</h1><div class="versionInfo">
|
|
||||||
Version 8.5.88,
|
|
||||||
<time datetime="2023-04-14">Apr 14 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">App Dev Guide Home</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>Contents</h2><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Introduction</h2><h3 id="Overview">Overview</h3><div class="text">
|
|
||||||
|
|
||||||
<p>Congratulations! You've decided to (or been told to) learn how to
|
|
||||||
build web applications using servlets and JSP pages, and picked the
|
|
||||||
Tomcat server to use for your learning and development. But now what
|
|
||||||
do you do?</p>
|
|
||||||
|
|
||||||
<p>This manual is a primer covering the basic steps of using Tomcat to
|
|
||||||
set up a development environment, organize your source code, and then
|
|
||||||
build and test your application. It does not discuss architectures or
|
|
||||||
recommended coding practices for web application development,
|
|
||||||
or provide in depth instructions on operating the development
|
|
||||||
tools that are discussed. References to sources of additional information
|
|
||||||
are included in the following subsections.</p>
|
|
||||||
|
|
||||||
<p>The discussion in this manual is aimed at developers who will be using
|
|
||||||
a text editor along with command line tools to develop and debug their
|
|
||||||
applications. As such, the recommendations are fairly generic – but you
|
|
||||||
should easily be able to apply them in either a Windows-based or Unix-based
|
|
||||||
development environment. If you are utilizing an Integrated Development
|
|
||||||
Environment (IDE) tool, you will need to adapt the advice given here to
|
|
||||||
the details of your particular environment.</p>
|
|
||||||
|
|
||||||
</div><h3 id="Links">Links</h3><div class="text">
|
|
||||||
|
|
||||||
<p>The following links provide access to selected sources of online
|
|
||||||
information, documentation, and software that is useful in developing
|
|
||||||
web applications with Tomcat.</p>
|
|
||||||
<ul>
|
|
||||||
<li><p><a href="https://jcp.org/aboutJava/communityprocess/mrel/jsr245/index2.html">https://jcp.org/aboutJava/communityprocess/mrel/jsr245/index2.html</a> -
|
|
||||||
<i>JavaServer Pages (JSP) Specification, Version 2.3</i>. Describes
|
|
||||||
the programming environment provided by standard implementations
|
|
||||||
of the JavaServer Pages (JSP) technology. In conjunction with
|
|
||||||
the Servlet API Specification (see below), this document describes
|
|
||||||
what a portable API page is allowed to contain. Specific
|
|
||||||
information on scripting (Chapter 9), tag extensions (Chapter 7),
|
|
||||||
and packaging JSP pages (Appendix A) is useful. The Javadoc
|
|
||||||
API Documentation is included in the specification, and with the
|
|
||||||
Tomcat download.</p></li>
|
|
||||||
<li><p><a href="http://jcp.org/aboutJava/communityprocess/final/jsr340/index.html">http://jcp.org/aboutJava/communityprocess/final/jsr340/index.html</a> -
|
|
||||||
<i>Servlet API Specification, Version 3.1</i>. Describes the
|
|
||||||
programming environment that must be provided by all servlet
|
|
||||||
containers conforming to this specification. In particular, you
|
|
||||||
will need this document to understand the web application
|
|
||||||
directory structure and deployment file (Chapter 10), methods of
|
|
||||||
mapping request URIs to servlets (Chapter 12), container managed
|
|
||||||
security (Chapter 13), and the syntax of the <code>web.xml</code>
|
|
||||||
Web Application Deployment Descriptor (Chapter 14). The Javadoc
|
|
||||||
API Documentation is included in the specification, and with the
|
|
||||||
Tomcat download.</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div></div></div></div></div><footer><div id="footer">
|
|
||||||
Copyright © 1999-2023, The Apache Software Foundation
|
|
||||||
</div></footer></div></body></html>
|
|
@ -1,259 +0,0 @@
|
|||||||
<!DOCTYPE html SYSTEM "about:legacy-compat">
|
|
||||||
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Application Developer's Guide (8.5.88) - Development Processes</title><meta name="author" content="Craig R. McClanahan"></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="https://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="../images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Application Developer's Guide</h1><div class="versionInfo">
|
|
||||||
Version 8.5.88,
|
|
||||||
<time datetime="2023-04-14">Apr 14 2023</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">App Dev Guide Home</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>Contents</h2><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Development Processes</h2><h3 id="Table_of_Contents">Table of Contents</h3><div class="text">
|
|
||||||
<ul><li><a href="#Development_Processes">Development Processes</a><ol><li><a href="#One-Time_Setup_of_Ant_and_Tomcat_for_Development">One-Time Setup of Ant and Tomcat for Development</a></li><li><a href="#Create_Project_Source_Code_Directory">Create Project Source Code Directory</a></li><li><a href="#Edit_Source_Code_and_Pages">Edit Source Code and Pages</a></li><li><a href="#Build_the_Web_Application">Build the Web Application</a></li><li><a href="#Test_Your_Web_Application">Test Your Web Application</a></li><li><a href="#Creating_a_Release">Creating a Release</a></li></ol></li></ul>
|
|
||||||
</div><h3 id="Development_Processes">Development Processes</h3><div class="text">
|
|
||||||
|
|
||||||
<p>Although application development can take many forms, this manual proposes
|
|
||||||
a fairly generic process for creating web applications using Tomcat. The
|
|
||||||
following sections highlight the commands and tasks that you, as the developer
|
|
||||||
of the code, will perform. The same basic approach works when you have
|
|
||||||
multiple programmers involved, as long as you have an appropriate source code
|
|
||||||
control system and internal team rules about who is working on what parts
|
|
||||||
of the application at any given time.</p>
|
|
||||||
|
|
||||||
<p>The task descriptions below do not assume any particular source code control
|
|
||||||
system but simply identify when and what source code control tasks are typically
|
|
||||||
performed. You will need to idenitfy the appropriate source code control
|
|
||||||
commands for your system.</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="One-Time_Setup_of_Ant_and_Tomcat_for_Development">One-Time Setup of Ant and Tomcat for Development</h4><div class="text">
|
|
||||||
|
|
||||||
<p>In order to take advantage of the special Ant tasks that interact with the
|
|
||||||
<em>Manager</em> web application, you need to perform the following tasks
|
|
||||||
once (no matter how many web applications you plan to develop).</p>
|
|
||||||
<ul>
|
|
||||||
<li><p><em>Configure the Ant custom tasks</em>. The implementation code for the
|
|
||||||
Ant custom tasks is in a JAR file named
|
|
||||||
<code>$CATALINA_HOME/lib/catalina-ant.jar</code>, which must be
|
|
||||||
copied in to the <code>lib</code> directory of your Ant installation.
|
|
||||||
</p></li>
|
|
||||||
<li><p><em>Define one or more Tomcat users</em>. The <em>Manager</em> web
|
|
||||||
application runs under a security constraint that requires a user to be
|
|
||||||
logged in, and have the security role <code>manager-script</code> assigned
|
|
||||||
to then. How such users are defined depends on which Realm you have
|
|
||||||
configured in Tomcat's <code>conf/server.xml</code> file -- see the
|
|
||||||
<a href="../realm-howto.html">Realm Configuration How-To</a> for more
|
|
||||||
information. You may define any number of users (with any username
|
|
||||||
and password that you like) with the <code>manager-script</code> role.
|
|
||||||
</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="Create_Project_Source_Code_Directory">Create Project Source Code Directory</h4><div class="text">
|
|
||||||
|
|
||||||
<p>The first step is to create a new project source directory, and customize
|
|
||||||
the <code>build.xml</code> and <code>build.properties</code> files you will
|
|
||||||
be using. The directory structure is described in <a href="source.html">the
|
|
||||||
previous section</a>, or you can use the
|
|
||||||
<a href="sample/">sample application</a> as a starting point.</p>
|
|
||||||
|
|
||||||
<p>Create your project source directory, and define it within your source code
|
|
||||||
control system. This might be done by a series of commands like this:</p>
|
|
||||||
<div class="codeBox"><pre><code>cd {my home directory}
|
|
||||||
mkdir myapp <-- Assumed "project source directory"
|
|
||||||
cd myapp
|
|
||||||
mkdir docs
|
|
||||||
mkdir src
|
|
||||||
mkdir web
|
|
||||||
mkdir web/WEB-INF
|
|
||||||
cvs or svn or git ... <-- Add this structure to the appropriate repository
|
|
||||||
</code></pre></div>
|
|
||||||
|
|
||||||
<p>To verify that the project was created correctly in the source code control
|
|
||||||
repository, you may wish to check out the project to a separate directory and
|
|
||||||
confirm that all the expected contents are present.</p>
|
|
||||||
|
|
||||||
<p>Next, you will need to create and check in an initial version of the
|
|
||||||
<code>build.xml</code> script to be used for development. For getting
|
|
||||||
started quickly and easily, base your <code>build.xml</code> on the
|
|
||||||
<a href="build.xml.txt">basic build.xml file</a>, included with this manual,
|
|
||||||
or code it from scratch.</p>
|
|
||||||
<div class="codeBox"><pre><code>cd {my home directory}
|
|
||||||
cd myapp
|
|
||||||
emacs build.xml <-- if you want a real editor :-)
|
|
||||||
cvs or svn or git ... <-- Add this file to the repository
|
|
||||||
</code></pre></div>
|
|
||||||
|
|
||||||
<p>The next step is to customize the Ant <em>properties</em> that are
|
|
||||||
named in the <code>build.xml</code> script. This is done by creating a
|
|
||||||
file named <code>build.properties</code> in your project's top-level
|
|
||||||
directory. The supported properties are listed in the comments inside
|
|
||||||
the sample <code>build.xml</code> script. At a minimum, you will generally
|
|
||||||
need to define the <code>catalina.home</code> property defining where
|
|
||||||
Tomcat is installed, and the manager application username and password.
|
|
||||||
You might end up with something like this:</p>
|
|
||||||
<div class="codeBox"><pre><code># Context path to install this application on
|
|
||||||
app.path=/hello
|
|
||||||
|
|
||||||
# Tomcat installation directory
|
|
||||||
catalina.home=/usr/local/apache-tomcat-8.5
|
|
||||||
|
|
||||||
# Manager webapp username and password
|
|
||||||
manager.username=myusername
|
|
||||||
manager.password=mypassword</code></pre></div>
|
|
||||||
|
|
||||||
<p>In general, you will <strong>not</strong> want to check the
|
|
||||||
<code>build.properties</code> file in to the source code control repository,
|
|
||||||
because it is unique to each developer's environment.</p>
|
|
||||||
|
|
||||||
<p>Now, create the initial version of the web application deployment
|
|
||||||
descriptor. You can base <code>web.xml</code> on the
|
|
||||||
<a href="web.xml.txt">basic web.xml file</a>, or code it from scratch.</p>
|
|
||||||
<div class="codeBox"><pre><code>cd {my home directory}
|
|
||||||
cd myapp/web/WEB-INF
|
|
||||||
emacs web.xml
|
|
||||||
cvs or svn or git ... <-- Add this file to the repository
|
|
||||||
</code></pre></div>
|
|
||||||
|
|
||||||
Note that this is only an example web.xml file. The full definition
|
|
||||||
of the deployment descriptor file is in the
|
|
||||||
<a href="https://cwiki.apache.org/confluence/display/TOMCAT/Specifications">Servlet Specification.</a>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="Edit_Source_Code_and_Pages">Edit Source Code and Pages</h4><div class="text">
|
|
||||||
|
|
||||||
<p>The edit/build/test tasks will generally be your most common activities
|
|
||||||
during development and maintenance. The following general principles apply.
|
|
||||||
As described in <a href="source.html">Source Organization</a>, newly created
|
|
||||||
source files should be located in the appropriate subdirectory, under your
|
|
||||||
project source directory.</p>
|
|
||||||
|
|
||||||
<p>You should regularly refresh your development directory to reflect the
|
|
||||||
work performed by other developers.</p>
|
|
||||||
|
|
||||||
<p>To create a new file, go to the appropriate directory and create the file.
|
|
||||||
When you are satisfied with its contents (after building and testing is
|
|
||||||
successful), add the new file to the repository. For example, to create a new
|
|
||||||
JSP page:</p>
|
|
||||||
<div class="codeBox"><pre><code>cd {my home directory}
|
|
||||||
cd myapp/web <-- Ultimate destination is document root
|
|
||||||
emacs mypage.jsp
|
|
||||||
... build and test the application ...
|
|
||||||
cvs or svn or git ... <-- Add this file to the repository
|
|
||||||
</code></pre></div>
|
|
||||||
|
|
||||||
<p>Java source code that is defined in packages must be organized in a directory
|
|
||||||
hierarchy (under the <strong>src/</strong> subdirectory) that matches the
|
|
||||||
package names. For example, a Java class named
|
|
||||||
<code>com.mycompany.mypackage.MyClass.java</code> should be stored in file
|
|
||||||
<code>src/com/mycompany/mypackage/MyClass.java</code>.
|
|
||||||
Whenever you create a new file, don't forget to add it to the source code
|
|
||||||
control system.</p>
|
|
||||||
|
|
||||||
<p>To edit an existing source file, you will generally just start editing
|
|
||||||
and testing, then commit the changed file when everything works.</p>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="Build_the_Web_Application">Build the Web Application</h4><div class="text">
|
|
||||||
|
|
||||||
<p>When you are ready to compile the application, issue the following
|
|
||||||
commands (generally, you will want a shell window open that is set to
|
|
||||||
the project source directory, so that only the last command is needed):</p>
|
|
||||||
<div class="codeBox"><pre><code>cd {my home directory}
|
|
||||||
cd myapp <-- Normally leave a window open here
|
|
||||||
ant</code></pre></div>
|
|
||||||
|
|
||||||
<p>The Ant tool will be execute the default "compile" target in your
|
|
||||||
<code>build.xml</code> file, which will compile any new or updated Java
|
|
||||||
code. If this is the first time you compile after a "build clean",
|
|
||||||
it will cause everything to be recompiled.</p>
|
|
||||||
|
|
||||||
<p>To force the recompilation of your entire application, do this instead:</p>
|
|
||||||
<div class="codeBox"><pre><code>cd {my home directory}
|
|
||||||
cd myapp
|
|
||||||
ant all</code></pre></div>
|
|
||||||
|
|
||||||
<p>This is a very good habit immediately before checking in changes, to
|
|
||||||
make sure that you have not introduced any subtle problems that Javac's
|
|
||||||
conditional checking did not catch.</p>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="Test_Your_Web_Application">Test Your Web Application</h4><div class="text">
|
|
||||||
|
|
||||||
<p>To test your application, you will want to install it under Tomcat. The
|
|
||||||
quickest way to do that is to use the custom Ant tasks that are included in
|
|
||||||
the sample <code>build.xml</code> script. Using these commands might follow
|
|
||||||
a pattern like this:</p>
|
|
||||||
<ul>
|
|
||||||
<li><p><em>Start Tomcat if needed</em>. If Tomcat is not already running,
|
|
||||||
you will need to start it in the usual way.
|
|
||||||
</p></li>
|
|
||||||
<li><p><em>Compile your application</em>. Use the <code>ant compile</code>
|
|
||||||
command (or just <code>ant</code>, since this is the default). Make
|
|
||||||
sure that there are no compilation errors.
|
|
||||||
</p></li>
|
|
||||||
<li><p><em>Install the application</em>. Use the <code>ant install</code>
|
|
||||||
command. This tells Tomcat to immediately start running your app on
|
|
||||||
the context path defined in the <code>app.path</code> build property.
|
|
||||||
Tomcat does <strong>NOT</strong> have to be restarted for this to
|
|
||||||
take effect.
|
|
||||||
</p></li>
|
|
||||||
<li><p><em>Test the application</em>. Using your browser or other testing
|
|
||||||
tools, test the functionality of your application.
|
|
||||||
</p></li>
|
|
||||||
<li><p><em>Modify and rebuild as needed</em>. As you discover that changes
|
|
||||||
are required, make those changes in the original <strong>source</strong>
|
|
||||||
files, not in the output build directory, and re-issue the
|
|
||||||
<code>ant compile</code> command. This ensures that your changes will be
|
|
||||||
available to be saved (via your chosen source code control system) later on
|
|
||||||
-- the output build directory is deleted and recreated as necessary.
|
|
||||||
</p></li>
|
|
||||||
<li><p><em>Reload the application</em>. Tomcat will recognize changes in
|
|
||||||
JSP pages automatically, but it will continue to use the old versions
|
|
||||||
of any servlet or JavaBean classes until the application is reloaded.
|
|
||||||
You can trigger this by executing the <code>ant reload</code> command.
|
|
||||||
</p></li>
|
|
||||||
<li><p><em>Remove the application when you are done</em>. When you are through
|
|
||||||
working on this application, you can remove it from live execution by
|
|
||||||
running the <code>ant remove</code> command.
|
|
||||||
</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>Do not forget to commit your changes to the source code repository when
|
|
||||||
you have completed your testing!</p>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="subsection"><h4 id="Creating_a_Release">Creating a Release</h4><div class="text">
|
|
||||||
|
|
||||||
<p>When you are through adding new functionality, and you've tested everything
|
|
||||||
(you DO test, don't you :-), it is time to create the distributable version
|
|
||||||
of your web application that can be deployed on the production server. The
|
|
||||||
following general steps are required:</p>
|
|
||||||
<ul>
|
|
||||||
<li><p>Issue the command <code>ant all</code> from the project source
|
|
||||||
directory, to rebuild everything from scratch one last time.
|
|
||||||
</p></li>
|
|
||||||
<li><p>Use the source code control system to tag the current state of the code
|
|
||||||
to create an identifier for all of the source files utilized to create this
|
|
||||||
release. This allows you to reliably reconstruct a release (from sources)
|
|
||||||
at a later time.
|
|
||||||
</p></li>
|
|
||||||
<li><p>Issue the command <code>ant dist</code> to create a distributable
|
|
||||||
web application archive (WAR) file, as well as a JAR file containing
|
|
||||||
the corresponding source code.
|
|
||||||
</p></li>
|
|
||||||
<li><p>Package the contents of the <code>dist</code> directory using the
|
|
||||||
<strong>tar</strong> or <strong>zip</strong> utility, according to
|
|
||||||
the standard release procedures used by your organization.
|
|
||||||
</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
|
|
||||||
</div></div></div></div></div><footer><div id="footer">
|
|
||||||
Copyright © 1999-2023, The Apache Software Foundation
|
|
||||||
</div></footer></div></body></html>
|
|
@ -1,508 +0,0 @@
|
|||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
General purpose build script for web applications and web services,
|
|
||||||
including enhanced support for deploying directly to a Tomcat
|
|
||||||
based server.
|
|
||||||
|
|
||||||
This build script assumes that the source code of your web application
|
|
||||||
is organized into the following subdirectories underneath the source
|
|
||||||
code directory from which you execute the build script:
|
|
||||||
|
|
||||||
docs Static documentation files to be copied to
|
|
||||||
the "docs" subdirectory of your distribution.
|
|
||||||
|
|
||||||
src Java source code (and associated resource files)
|
|
||||||
to be compiled to the "WEB-INF/classes"
|
|
||||||
subdirectory of your web application.
|
|
||||||
|
|
||||||
web Static HTML, JSP, and other content (such as
|
|
||||||
image files), including the WEB-INF subdirectory
|
|
||||||
and its configuration file contents.
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- A "project" describes a set of targets that may be requested
|
|
||||||
when Ant is executed. The "default" attribute defines the
|
|
||||||
target which is executed if no specific target is requested,
|
|
||||||
and the "basedir" attribute defines the current working directory
|
|
||||||
from which Ant executes the requested task. This is normally
|
|
||||||
set to the current working directory.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<project name="My Project" default="compile" basedir=".">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ===================== Property Definitions =========================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Each of the following properties are used in the build script.
|
|
||||||
Values for these properties are set by the first place they are
|
|
||||||
defined, from the following list:
|
|
||||||
|
|
||||||
* Definitions on the "ant" command line (ant -Dfoo=bar compile).
|
|
||||||
|
|
||||||
* Definitions from a "build.properties" file in the top level
|
|
||||||
source directory of this application.
|
|
||||||
|
|
||||||
* Definitions from a "build.properties" file in the developer's
|
|
||||||
home directory.
|
|
||||||
|
|
||||||
* Default definitions in this build.xml file.
|
|
||||||
|
|
||||||
You will note below that property values can be composed based on the
|
|
||||||
contents of previously defined properties. This is a powerful technique
|
|
||||||
that helps you minimize the number of changes required when your development
|
|
||||||
environment is modified. Note that property composition is allowed within
|
|
||||||
"build.properties" files as well as in the "build.xml" script.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<property file="build.properties"/>
|
|
||||||
<property file="${user.home}/build.properties"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== File and Directory Names ======================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
These properties generally define file and directory names (or paths) that
|
|
||||||
affect where the build process stores its outputs.
|
|
||||||
|
|
||||||
app.name Base name of this application, used to
|
|
||||||
construct filenames and directories.
|
|
||||||
Defaults to "myapp".
|
|
||||||
|
|
||||||
app.path Context path to which this application should be
|
|
||||||
deployed (defaults to "/" plus the value of the
|
|
||||||
"app.name" property).
|
|
||||||
|
|
||||||
app.version Version number of this iteration of the application.
|
|
||||||
|
|
||||||
build.home The directory into which the "prepare" and
|
|
||||||
"compile" targets will generate their output.
|
|
||||||
Defaults to "build".
|
|
||||||
|
|
||||||
catalina.home The directory in which you have installed
|
|
||||||
a binary distribution of Tomcat. This will
|
|
||||||
be used by the "deploy" target.
|
|
||||||
|
|
||||||
dist.home The name of the base directory in which
|
|
||||||
distribution files are created.
|
|
||||||
Defaults to "dist".
|
|
||||||
|
|
||||||
manager.password The login password of a user that is assigned the
|
|
||||||
"manager-script" role (so that they can execute
|
|
||||||
commands via the "/manager" web application)
|
|
||||||
|
|
||||||
manager.url The URL of the "/manager" web application on the
|
|
||||||
Tomcat installation to which we will deploy web
|
|
||||||
applications and web services.
|
|
||||||
|
|
||||||
manager.username The login username of a user that is assigned the
|
|
||||||
"manager-script" role (so that they can execute
|
|
||||||
commands via the "/manager" web application)
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<property name="app.name" value="myapp"/>
|
|
||||||
<property name="app.path" value="/${app.name}"/>
|
|
||||||
<property name="app.version" value="0.1-dev"/>
|
|
||||||
<property name="build.home" value="${basedir}/build"/>
|
|
||||||
<property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
|
|
||||||
<property name="dist.home" value="${basedir}/dist"/>
|
|
||||||
<property name="docs.home" value="${basedir}/docs"/>
|
|
||||||
<property name="manager.url" value="http://localhost:8080/manager/text"/>
|
|
||||||
<property name="src.home" value="${basedir}/src"/>
|
|
||||||
<property name="web.home" value="${basedir}/web"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== External Dependencies =========================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Use property values to define the locations of external JAR files on which
|
|
||||||
your application will depend. In general, these values will be used for
|
|
||||||
two purposes:
|
|
||||||
* Inclusion on the classpath that is passed to the Javac compiler
|
|
||||||
* Being copied into the "/WEB-INF/lib" directory during execution
|
|
||||||
of the "deploy" target.
|
|
||||||
|
|
||||||
Because we will automatically include all of the Java classes that Tomcat
|
|
||||||
exposes to web applications, we will not need to explicitly list any of those
|
|
||||||
dependencies. You only need to worry about external dependencies for JAR
|
|
||||||
files that you are going to include inside your "/WEB-INF/lib" directory.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Dummy external dependency -->
|
|
||||||
<!--
|
|
||||||
<property name="foo.jar"
|
|
||||||
value="/path/to/foo.jar"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Compilation Classpath =========================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Rather than relying on the CLASSPATH environment variable, Ant includes
|
|
||||||
features that makes it easy to dynamically construct the classpath you
|
|
||||||
need for each compilation. The example below constructs the compile
|
|
||||||
classpath to include the servlet.jar file, as well as the other components
|
|
||||||
that Tomcat makes available to web applications automatically, plus anything
|
|
||||||
that you explicitly added.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<path id="compile.classpath">
|
|
||||||
|
|
||||||
<!-- Include all JAR files that will be included in /WEB-INF/lib -->
|
|
||||||
<!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
|
|
||||||
<!--
|
|
||||||
<pathelement location="${foo.jar}"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Include all elements that Tomcat exposes to applications -->
|
|
||||||
<fileset dir="${catalina.home}/bin">
|
|
||||||
<include name="*.jar"/>
|
|
||||||
</fileset>
|
|
||||||
<pathelement location="${catalina.home}/lib"/>
|
|
||||||
<fileset dir="${catalina.home}/lib">
|
|
||||||
<include name="*.jar"/>
|
|
||||||
</fileset>
|
|
||||||
|
|
||||||
</path>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ================== Custom Ant Task Definitions ======================= -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
These properties define custom tasks for the Ant build tool that interact
|
|
||||||
with the "/manager" web application installed with Tomcat. Before they
|
|
||||||
can be successfully utilized, you must perform the following steps:
|
|
||||||
|
|
||||||
- Copy the file "lib/catalina-ant.jar" from your Tomcat
|
|
||||||
installation into the "lib" directory of your Ant installation.
|
|
||||||
|
|
||||||
- Create a "build.properties" file in your application's top-level
|
|
||||||
source directory (or your user login home directory) that defines
|
|
||||||
appropriate values for the "manager.password", "manager.url", and
|
|
||||||
"manager.username" properties described above.
|
|
||||||
|
|
||||||
For more information about the Manager web application, and the functionality
|
|
||||||
of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<taskdef resource="org/apache/catalina/ant/catalina.tasks"
|
|
||||||
classpathref="compile.classpath"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Compilation Control Options ==================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
These properties control option settings on the Javac compiler when it
|
|
||||||
is invoked using the <javac> task.
|
|
||||||
|
|
||||||
compile.debug Should compilation include the debug option?
|
|
||||||
|
|
||||||
compile.deprecation Should compilation include the deprecation option?
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<property name="compile.debug" value="true"/>
|
|
||||||
<property name="compile.deprecation" value="false"/>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== All Target ====================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "all" target is a shortcut for running the "clean" target followed
|
|
||||||
by the "compile" target, to force a complete recompile.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="all" depends="clean,compile"
|
|
||||||
description="Clean build and dist directories, then compile"/>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Clean Target ==================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "clean" target deletes any previous "build" and "dist" directory,
|
|
||||||
so that you can be ensured the application can be built from scratch.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="clean"
|
|
||||||
description="Delete old build and dist directories">
|
|
||||||
<delete dir="${build.home}"/>
|
|
||||||
<delete dir="${dist.home}"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Compile Target ================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "compile" target transforms source files (from your "src" directory)
|
|
||||||
into object files in the appropriate location in the build directory.
|
|
||||||
This example assumes that you will be including your classes in an
|
|
||||||
unpacked directory hierarchy under "/WEB-INF/classes".
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="compile" depends="prepare"
|
|
||||||
description="Compile Java sources">
|
|
||||||
|
|
||||||
<!-- Compile Java classes as necessary -->
|
|
||||||
<mkdir dir="${build.home}/WEB-INF/classes"/>
|
|
||||||
<javac srcdir="${src.home}"
|
|
||||||
destdir="${build.home}/WEB-INF/classes"
|
|
||||||
debug="${compile.debug}"
|
|
||||||
deprecation="${compile.deprecation}">
|
|
||||||
<classpath refid="compile.classpath"/>
|
|
||||||
</javac>
|
|
||||||
|
|
||||||
<!-- Copy application resources -->
|
|
||||||
<copy todir="${build.home}/WEB-INF/classes">
|
|
||||||
<fileset dir="${src.home}" excludes="**/*.java"/>
|
|
||||||
</copy>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Dist Target ===================================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "dist" target creates a binary distribution of your application
|
|
||||||
in a directory structure ready to be archived in a tar.gz or zip file.
|
|
||||||
Note that this target depends on two others:
|
|
||||||
|
|
||||||
* "compile" so that the entire web application (including external
|
|
||||||
dependencies) will have been assembled
|
|
||||||
|
|
||||||
* "javadoc" so that the application Javadocs will have been created
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="dist" depends="compile,javadoc"
|
|
||||||
description="Create binary distribution">
|
|
||||||
|
|
||||||
<!-- Copy documentation subdirectories -->
|
|
||||||
<mkdir dir="${dist.home}/docs"/>
|
|
||||||
<copy todir="${dist.home}/docs">
|
|
||||||
<fileset dir="${docs.home}"/>
|
|
||||||
</copy>
|
|
||||||
|
|
||||||
<!-- Create application JAR file -->
|
|
||||||
<jar jarfile="${dist.home}/${app.name}-${app.version}.war"
|
|
||||||
basedir="${build.home}"/>
|
|
||||||
|
|
||||||
<!-- Copy additional files to ${dist.home} as necessary -->
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Install Target ================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "install" target tells the specified Tomcat installation to dynamically
|
|
||||||
install this web application and make it available for execution. It does
|
|
||||||
*not* cause the existence of this web application to be remembered across
|
|
||||||
Tomcat restarts; if you restart the server, you will need to re-install all
|
|
||||||
this web application.
|
|
||||||
|
|
||||||
If you have already installed this application, and simply want Tomcat to
|
|
||||||
recognize that you have updated Java classes (or the web.xml file), use the
|
|
||||||
"reload" target instead.
|
|
||||||
|
|
||||||
NOTE: This target will only succeed if it is run from the same server that
|
|
||||||
Tomcat is running on.
|
|
||||||
|
|
||||||
NOTE: This is the logical opposite of the "remove" target.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="install" depends="compile"
|
|
||||||
description="Install application to servlet container">
|
|
||||||
|
|
||||||
<deploy url="${manager.url}"
|
|
||||||
username="${manager.username}"
|
|
||||||
password="${manager.password}"
|
|
||||||
path="${app.path}"
|
|
||||||
localWar="file://${build.home}"/>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Javadoc Target ================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "javadoc" target creates Javadoc API documentation for the Java
|
|
||||||
classes included in your application. Normally, this is only required
|
|
||||||
when preparing a distribution release, but is available as a separate
|
|
||||||
target in case the developer wants to create Javadocs independently.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="javadoc" depends="compile"
|
|
||||||
description="Create Javadoc API documentation">
|
|
||||||
|
|
||||||
<mkdir dir="${dist.home}/docs/api"/>
|
|
||||||
<javadoc sourcepath="${src.home}"
|
|
||||||
destdir="${dist.home}/docs/api"
|
|
||||||
packagenames="*">
|
|
||||||
<classpath refid="compile.classpath"/>
|
|
||||||
</javadoc>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ====================== List Target =================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "list" target asks the specified Tomcat installation to list the
|
|
||||||
currently running web applications, either loaded at startup time or
|
|
||||||
installed dynamically. It is useful to determine whether or not the
|
|
||||||
application you are currently developing has been installed.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="list"
|
|
||||||
description="List installed applications on servlet container">
|
|
||||||
|
|
||||||
<list url="${manager.url}"
|
|
||||||
username="${manager.username}"
|
|
||||||
password="${manager.password}"/>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Prepare Target ================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "prepare" target is used to create the "build" destination directory,
|
|
||||||
and copy the static contents of your web application to it. If you need
|
|
||||||
to copy static files from external dependencies, you can customize the
|
|
||||||
contents of this task.
|
|
||||||
|
|
||||||
Normally, this task is executed indirectly when needed.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="prepare">
|
|
||||||
|
|
||||||
<!-- Create build directories as needed -->
|
|
||||||
<mkdir dir="${build.home}"/>
|
|
||||||
<mkdir dir="${build.home}/WEB-INF"/>
|
|
||||||
<mkdir dir="${build.home}/WEB-INF/classes"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Copy static content of this web application -->
|
|
||||||
<copy todir="${build.home}">
|
|
||||||
<fileset dir="${web.home}"/>
|
|
||||||
</copy>
|
|
||||||
|
|
||||||
<!-- Copy external dependencies as required -->
|
|
||||||
<!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
|
|
||||||
<mkdir dir="${build.home}/WEB-INF/lib"/>
|
|
||||||
<!--
|
|
||||||
<copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Copy static files from external dependencies as needed -->
|
|
||||||
<!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Reload Target =================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "reload" signals the specified application Tomcat to shut itself down
|
|
||||||
and reload. This can be useful when the web application context is not
|
|
||||||
reloadable and you have updated classes or property files in the
|
|
||||||
/WEB-INF/classes directory or when you have added or updated jar files in the
|
|
||||||
/WEB-INF/lib directory.
|
|
||||||
|
|
||||||
NOTE: The /WEB-INF/web.xml web application configuration file is not reread
|
|
||||||
on a reload. If you have made changes to your web.xml file you must stop
|
|
||||||
then start the web application.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="reload" depends="compile"
|
|
||||||
description="Reload application on servlet container">
|
|
||||||
|
|
||||||
<reload url="${manager.url}"
|
|
||||||
username="${manager.username}"
|
|
||||||
password="${manager.password}"
|
|
||||||
path="${app.path}"/>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================== Remove Target =================================== -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The "remove" target tells the specified Tomcat installation to dynamically
|
|
||||||
remove this web application from service.
|
|
||||||
|
|
||||||
NOTE: This is the logical opposite of the "install" target.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<target name="remove"
|
|
||||||
description="Remove application on servlet container">
|
|
||||||
|
|
||||||
<undeploy url="${manager.url}"
|
|
||||||
username="${manager.username}"
|
|
||||||
password="${manager.password}"
|
|
||||||
path="${app.path}"/>
|
|
||||||
|
|
||||||
</target>
|
|
||||||
|
|
||||||
|
|
||||||
</project>
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue