blob: 0d9cd42f8ce652cd23d0d690858dc35b09449919 [file] [log] [blame]
------
jpms.args
------
Robert Scholte
------
2017-08-22
------
~~ 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: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
JPMS.ARGS
Java 9 comes with a new set of arguments related to the Java Platform Modular System. Besides the module path are
other new arguments which can change the behavior of the application. These can be used during both compile time
and runtime. This information is not stored in any class, but it can be interesting to know at runtime which extra
arguments were used at compile time.
If any of these arguments is used, the <<<META-INF/jpms.args>>> is created.
Every argument gets its own line.
The following arguments will end up in this file:
* <<<--upgrade-module-path>>>
* <<<--add-exports>>>
* <<<--add-reads>>>
* <<<--add-modules>>>
* <<<--limit-modules>>>
* <<<--patch-module>>>
[]
The <<<--patch-module>>> values are different compared to the original values passed to the compiler. Occording to
the specification it looks like <<<--patch-module \<module\>=\<file\>(\<pathsep\>\<file\>)\*>>>
However, files are system specific. For that reason the module names are used. If the jar itself contains the
patchcode, then an <<<_>>> (underscore) is used. As separators a <<<, >>> (comma + space) is used.
+---
--patch-module
<module>=<module>(, <module>)*
+---