1.\"
2.\" Copyright (C) 2006 Greg Lewis. All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\"
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.Dd November 12, 2019
27.Os
28.Dt MANVM 1
29.Sh NAME
30.Nm manvm
31.Nd format and display the on-line Java VM manual pages
32.Sh SYNOPSIS
33.Nm
34.Op Ar name
35.Sh DESCRIPTION
36.Nm Manvm
37provides a convenient system for displaying the on-line manual pages
38for different Java VMs without having to add their (conflicting) manual
39page directories to
40.Ev MANPATH
41.Pp
42By default,
43.Nm
44will select the most
45.Dq native
46and up to date version of the Java VM when locating the manual page to
47be displayed.
48This selection process is akin to that used by
49.Nm javavm
50in that the same environment variables and processes are used.
51.Pp
52The manual pages are displayed using
53.Nm man ,
54and all applicable environment variables, save for
55.Ev MANPATH ,
56are respected.
57Options may be passed to
58.Nm man
59using the
60.Ev JAVAVM_OPTS
61environment variable and its associated sub-variables and configuration
62file.
63.Sh ENVIRONMENT
64.Bl -tag -width indent
65.It Ev JAVA_HOME
66The presence of this variable in the environment when executing
67.Nm
68will override all other considerations regarding the Java VM whose on-line
69manual pages will be displayed and the manual pages located at
70.Pa ${JAVA_HOME}/man
71will be used.
72.Pp
73.It Ev JAVA_OS
74A space delimited list of operating systems.
75The on-line manual pages to be displayed must come from a Java VM that has
76been created for one of the operating systems in the list.
77.Pp
78Currently allowed operating system values are
79.Ql native
80and
81.Ql linux .
82.It Ev JAVA_VENDOR
83A space delimited list of Java VM vendors.
84The on-line manual pages to be displayed must come from a Java VM that has
85been released by one of the vendors in the list.
86.Pp
87Currently allowed vendors are
88.Ql openjdk ,
89.Ql oracle ,
90and
91.Ql sun .
92.It Ev JAVA_VERSION
93A space delimited list of versions of the Java VM from which the on-line
94manual pages may come.
95By appending a
96.Ql +
97to a version, the on-line manual pages from any Java VM with a version
98greater than or equal to the given version will be used.
99.Pp
100Currently allowed versions are
101.Ql 1.7 ,
102.Ql 1.7+ ,
103.Ql 1.8 ,
104.Ql 1.8+ ,
105.Ql 1.9 ,
106.Ql 1.9+ ,
107.Ql 7 ,
108.Ql 7+ ,
109.Ql 8 ,
110.Ql 8+ ,
111.Ql 9 ,
112.Ql 9+ ,
113.Ql 10 ,
114.Ql 10+ ,
115.Ql 11 ,
116.Ql 11+ ,
117.Ql 12 ,
118.Ql 12+ ,
119.Ql 13 ,
120.Ql 13+ ,
121.Ql 14 ,
122.Ql 14+ ,
123.Ql 15 ,
124.Ql 15+ ,
125.Ql 16 ,
126.Ql 16+ ,
127.Ql 17 ,
128.Ql 17+ ,
129.Ql 18 ,
130.Ql 18+ ,
131.Ql 19 ,
132.Ql 19+ ,
133.Ql 20 ,
134.Ql 20+ ,
135.Ql 21 ,
136and
137.Ql 21+ .
138.It Ev JAVAVM_OPTS
139The contents of this environment variable will be passed to the invoked
140.Nm man
141as options.
142For more information on environment variables which can be used to set
143options see
144.Pa %%PREFIX%%/etc/javavm_opts.conf.dist .
145.El
146.Sh EXAMPLES
147.Bl -tag -width indent
148.It Pa %%LOCALBASE%%/bin/manvm java
149Display the on-line manual page for the
150.Nm java
151programme of the the most up to date and
152.Dq native
153Java VM registered with
154.Nm javavm .
155.It Ev JAVA_VERSION=8 Pa %%LOCALBASE%%/bin/manvm javac
156Display the on-line manual page for the
157.Nm javac
158programme for a Java VM which is version 8.
159.El
160.Sh SEE ALSO
161.Xr javavm 1 ,
162.Xr man 1 ,
163.Xr javavm_opts.conf 5
164