Maven does awful things with console output - particularly in tests.

For tests, in the surefire configuration you can set
<useFile>false</useFile> for real time output. Also set it not to fork or
fork only once.

-Tim

On Sat, Aug 28, 2021 at 5:49 PM David Green <dgreen...@gmail.com> wrote:

> Probably good advice but I was trying to follow the direction of NetBeans
> to use Maven as the preferred build tool.
>
> At this point, for this semester, I am way too committed to Maven (it is an
> online course with all the course content is done).  This was a simple type
> it in like the textbook example (that I did not try) that bit me <grin>.
>
> For our immediate purpose, we just went with a println substitution but I
> felt I should report the bug with context for eventual repair (or at least
> consideration/documentation of a limitation).
>
> Thanks!
>
> On Sat, Aug 28, 2021 at 4:36 PM László Kishalmi <laszlo.kisha...@gmail.com
> >
> wrote:
>
> > For those kind of projects use Ant or Gradle. They do not suffer from
> this
> > issue, and probably better suited for small student projects.
> >
> > On Sat, Aug 28, 2021, 13:16 David Green <dgreen...@gmail.com> wrote:
> >
> > > Thanks for the reply and insight.
> > >
> > > That does work at the command line (as did running it from a jar file).
> > I
> > > am seeking to have it work in the NetBeans Output window and I found
> that
> > > if I edited the Run (and Run File) Actions in the project properties to
> > use
> > > "java" instead of "exec", it does work.  It did generate a
> nbactions.xml
> > > file that was not there before.
> > >
> > > Should this be the default behavior when one generates Java with Maven
> |
> > > Java Application?  I am looking for configurations to use with students
> > who
> > > are learning the language and OO thinking and don't want to add any
> more
> > > friction than necessary.
> > >
> > > Are there any downsides of making this change?
> > >
> > > Dave
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On Sat, Aug 28, 2021 at 2:15 PM Vladimir Machat <macha...@gmail.com>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > i believe it's exec:exec maven target problem, because if you run the
> > > > same code with exec:java it works perfectly, even without the flush()
> > > >
> > > > try 'mvn exec:java -Dexec.mainClass=dgreen.printbug.NewMain' from
> > > > command line
> > > >
> > > > On 28/08/2021 18:54, David Green wrote:
> > > > > In NetBeans 12.4 and verified to also behave this way on NetBeans
> > > > > 12.5-beta2, System.out.print is buffered such that it does not show
> > up
> > > in
> > > > > the NetBeans Output window until a System.out.println (or probably
> > > things
> > > > > like program end, and some buffer full scenario).
> > > > >
> > > > > Using JDK 15 and a Maven Project.  I am using macOS but my students
> > who
> > > > hit
> > > > > this problem are using Windows.
> > > > >
> > > > > Example code:
> > > > >
> > > > > package dgreen.printbug;
> > > > >
> > > > > import java.util.Scanner;
> > > > >
> > > > > /**
> > > > >   * Demo program showing that System.out.print's are not pushed to
> > > output
> > > > > window until a
> > > > >   * System.out.println
> > > > >   */
> > > > > public class NewMain {
> > > > >
> > > > >    /** @param args the command line arguments */
> > > > >    public static void main(String[] args) {
> > > > >      Scanner sc = new Scanner(System.in);
> > > > >      System.out.print("Enter your name: ");
> > > > >      System.out.flush(); // should not be necessary but does not
> work
> > > > either
> > > > >      String name = sc.nextLine();
> > > > >      System.out.println("Hi " + name);
> > > > >    }
> > > > > }
> > > > >
> > > > > —-
> > > > > Running it after Clean & Build (or before)
> > > > >
> > > > > --- exec-maven-plugin:3.0.0:exec (default-cli) @ printbug ---
> > > > > dave
> > > > > Enter your name: Hi dave
> > > > >
> > >
> ------------------------------------------------------------------------
> > > > > BUILD SUCCESS
> > > > >
> > > > > where "dave" was typed in without the benefit of seeing the prompt.
> > > > >
> > > > > This works fine when run from true command line either inside a
> > > NetBeans
> > > > > Terminal Window or the real command line.
> > > > >
> > > > > In Jira as https://issues.apache.org/jira/browse/NETBEANS-5961
> > > > >
> > > > > Dave
> > > > >
> > > >
> > >
> >
>
-- 
http://timboudreau.com

Reply via email to