For me, it works, I can use the module-path, together with this in module-info:
module org.mycompany { requires org.apache.logging.log4j; } And this in the Java source file: import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class MyApp { public static final Logger LOGGER = LogManager.getLogger(); public static void main(String[] args) { LOGGER.error("\n *** Log4j2 error message\n"); } } With the JAR on the module-path. Thanks, Gj On Wed, Oct 31, 2018 at 9:51 AM Geertjan Wielenga < geertjan.wiele...@googlemail.com> wrote: > Hi Emma, > > Please confirm that your scenario works now in 10vc2: > > https://cwiki.apache.org/confluence/display/NETBEANS/10vc2 > > Gj > > On Thu, Oct 4, 2018 at 11:56 AM Emma Atkinson <emma.atkins...@gmail.com> > wrote: > >> Hey guys, >> What a lovely surprise! I was just about to begin working out the command >> line options. >> >> I'll take a look at the pull request to see if I can learn something. >> >> Thank you (Denk u wel) >> Emma >> >> On 08:11, Thu, 4 Oct 2018 Geertjan Wielenga, >> <geertjan.wiele...@googlemail.com.invalid> wrote: >> >>> https://github.com/apache/incubator-netbeans/pull/941 >>> >>> We've identified the problem and done work on fixing it. >>> >>> Gj >>> >>> On Wed, Oct 3, 2018 at 1:55 PM Emma Atkinson <emma.atkins...@gmail.com> >>> wrote: >>> >>>> I will try without using Netbeans but I do not have time to work on >>>> this until tomorrow. >>>> Thank you for devoting your time to helping me solve this. >>>> >>>> Emma >>>> >>>> >>>> On Wed, 3 Oct 2018 at 12:29, Geertjan Wielenga < >>>> geertjan.wiele...@googlemail.com> wrote: >>>> >>>>> Well, I'd suggest to first get it to work without any tooling at all. >>>>> I.e., forget NetBeans for the moment and use the command line to set up a >>>>> simple Java 9 multi-release app that makes use of Log4J. Possibly the >>>>> problem is with Log4J and that's what you can find out by creating such an >>>>> application and for help you could join the Log4J mailing list. I.e., if >>>>> something doesn't work outside NetBeans it won't work within NetBeans >>>>> either. >>>>> >>>>> Gj >>>>> >>>>> >>>>> On Wed, Oct 3, 2018 at 1:13 PM Emma Atkinson <emma.atkins...@gmail.com> >>>>> wrote: >>>>> >>>>>> Screenshot.png shows how I have set up Netbeans. I think you can see >>>>>> everything. >>>>>> >>>>>> I normally use the *import* org.apache.logging.log4j.Logger and >>>>>> *import* org.apache.logging.log4j.LogManager. The Log4j2 >>>>>> module-info.class file exports *org.apache.logging.log4j*. >>>>>> >>>>>> I have committed a version of the test case with the word logging >>>>>> deleted. And then returned it to what I think is correct in the >>>>>> subsequent >>>>>> commit. >>>>>> I have tried it every way, with and without the classpath entries. >>>>>> BTW adding a jar to both the modulepath and classpath has been a bit hit >>>>>> and miss (ignoring adding log4j-api.jar if it is already on the >>>>>> modulepath) >>>>>> so I used a Library entry for the module path and explicitly added the >>>>>> jars >>>>>> to the classpath. >>>>>> >>>>>> Adding the classpath entries with >>>>>> *import* org.apache.logging.log4j.Logger >>>>>> *import* org.apache.logging.log4j.LogManager >>>>>> >>>>>> means the editor finds the classes Logger and LogManager as you would >>>>>> expect. >>>>>> The Compile File error message is that it cannot find the module >>>>>> log4j.api. >>>>>> https://github.com/cosmiczoo/Log4j2TestCase latest commit is as >>>>>> close as I can get. >>>>>> >>>>>> >>>>>> On Wed, 3 Oct 2018 at 11:15, Geertjan Wielenga >>>>>> <geertjan.wiele...@googlemail.com.invalid> wrote: >>>>>> >>>>>>> I also see this on >>>>>>> https://logging.apache.org/log4j/2.0/download.html: >>>>>>> >>>>>>> To use Log4j 2 in your application make sure that both the API and >>>>>>> Core jars are in the application’s classpath. Add the dependencies >>>>>>> listed >>>>>>> below to your classpath. >>>>>>> >>>>>>> >>>>>>> 1. log4j-api-2.11.1.jar >>>>>>> 2. log4j-core-2.11.1.jar >>>>>>> >>>>>>> >>>>>>> >>>>>>> In short, we need instructions for how exactly to set up the project >>>>>>> to match the environment that you have. >>>>>>> >>>>>>> Gj >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Oct 3, 2018 at 12:11 PM Geertjan Wielenga < >>>>>>> geertjan.wiele...@googlemail.com> wrote: >>>>>>> >>>>>>>> Shouldn't the import statements be this: >>>>>>>> >>>>>>>> import org.apache.log4j.LogManager; >>>>>>>> import org.apache.log4j.Logger; >>>>>>>> >>>>>>>> ...and not this: >>>>>>>> >>>>>>>> import org.apache.logging.log4j.LogManager; >>>>>>>> import org.apache.logging.log4j.Logger; >>>>>>>> >>>>>>>> ...if you're using log4j-1.2-api-2.11.1.jar? >>>>>>>> >>>>>>>> Gj >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Oct 3, 2018 at 11:56 AM Emma Atkinson < >>>>>>>> emma.atkins...@gmail.com> wrote: >>>>>>>> >>>>>>>>> I cannot find a way to make this work, I hope you can help. I >>>>>>>>> should be happy to be pointed to an existing answer >>>>>>>>> >>>>>>>>> *The Problem* >>>>>>>>> I have a very simple Java application demonstrating the problem I >>>>>>>>> am having with using the latest Log4j2 V2.11.1 as a module >>>>>>>>> (log4j.api) and >>>>>>>>> building it in Netbeans. The example compiles, builds and runs when >>>>>>>>> I use >>>>>>>>> the classpath, but cannot compile the module-info.java file when I >>>>>>>>> use the >>>>>>>>> modulepath. I have uploaded the code and Netbeans files at the >>>>>>>>> following >>>>>>>>> link: >>>>>>>>> >>>>>>>>> https://github.com/cosmiczoo/Log4j2TestCase >>>>>>>>> >>>>>>>>> Log4j2 V2.11.1 is a Multi-release JAR (MR-JAR). The >>>>>>>>> module-info.class file is in log4j-api-2.11.1.jar under the folder >>>>>>>>> META-INF/versions/9, which seems correct. >>>>>>>>> >>>>>>>>> The Netbeans editor can see the module log4j.api because it >>>>>>>>> appears in the drop-down menu of completion suggestions and does not >>>>>>>>> have >>>>>>>>> wiggly red line under it. My simple test program has a >>>>>>>>> module-info.java >>>>>>>>> file that requires log4j.api and nothing else. This bit works as I >>>>>>>>> would >>>>>>>>> expect. >>>>>>>>> >>>>>>>>> >>>>>>>>> I have located an unanswered question on StackOverflow asking a >>>>>>>>> similar question >>>>>>>>> https://stackoverflow.com/questions/50568139/netbeans-java-9-modules-log4j-2-11-module-not-found >>>>>>>>> >>>>>>>>> >>>>>>>>> *To Reproduce My Test * >>>>>>>>> >>>>>>>>> I *Clean* the project. It completes successfully. >>>>>>>>> I then use a RMB option to *Compile File* the module-info.java >>>>>>>>> file. >>>>>>>>> This generates an error pointing to the line *requires log4j.api* >>>>>>>>> in my module-info.java. >>>>>>>>> >>>>>>>>> <path-to>/Log4j2TestCase/src/module-info.java:7: error: module not >>>>>>>>> found: log4j.api >>>>>>>>> requires log4j.api; >>>>>>>>> 1 error >>>>>>>>> ZipFileIndex clearCache failed >>>>>>>>> <path-to>/Log4j2TestCase/nbproject/build-impl.xml:1131: The >>>>>>>>> following error occurred while executing this line: >>>>>>>>> <path-to>/Log4j2TestCase/nbproject/build-impl.xml:358: Compile >>>>>>>>> failed; see the compiler error output for details. >>>>>>>>> at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1425) >>>>>>>>> at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:1133) >>>>>>>>> at >>>>>>>>> org.netbeans.modules.java.source.ant.JavacTask.execute(JavacTask.java:120) >>>>>>>>> at >>>>>>>>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) >>>>>>>>> >>>>>>>>> and so on. Please let me know if you want more. >>>>>>>>> >>>>>>>>> I have tried building this program under JDK-9, JDK-10 and >>>>>>>>> JDK-11. My Netbeans runs on JDK-10. I am learning how to migrate to >>>>>>>>> modules by trial, error and reading. I may have made an error, but >>>>>>>>> if I >>>>>>>>> have, I don't know where. >>>>>>>>> >>>>>>>>> Thanks in anticipation >>>>>>>>> >>>>>>>>> Emma >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>