In the case of Args4J, an issue is created on the ``++public void run++`` method of any class using ``++org.kohsuke.args4j.Option++`` or ``++org.kohsuke.args4j.Argument++``.
Such a class is called directly by ``++org.kohsuke.args4j.Starter++`` outside of any ``++public static void main++`` method. If the class has no ``++run++`` method, no issue will be raised as there must be a ``++public static void main++`` and its argument is already highlighted.
The support of Argv4J without the use of ``++org.kohsuke.argv4j.Option++`` is out of scope as there is no way to know which Bean will be used as the mainclass.
=== on 17 Sep 2018, 09:48:11 Nicolas Harraudeau wrote:
The analyzer should create an issue on ``++public static void main(String[] argv)++``, highlighting ``++String[] argv++``. It should do so if and only if the parameter is used inside the method. This reduces the noise when the parameter is not used at all.
The only exception is Arg4J as there is no ``++main++`` method.
Note: The support of Argv4J without the use of ``++org.kohsuke.argv4j.Option++`` is out of scope as there is no way to know which Bean will be used as the ``++mainclass++``. See https://args4j.kohsuke.org/sample.html[Arg4J documentation] for more details.