Is it possible to hide the condole windows in latest EAP builds?

How do you hide the console windows that show up on windows for the latest EAP builds?

I just searched the forums and it sounds like there are two common solutions explained here: http://www.intellij.org/twiki/bin/view/Main/NoConsoleOnWindows

But I wasn't able to get either of these methods to work with Windows XP SP2 and build 3095.

Any ideas?

-peter

17 comments

Strange, worked for me, even with latest EAP builds...
For Win32, you need to do both (AFAIR) because
1) javaw is needed, otherwise a console will be openend
2) if javaw is used, a console is still openend if the idea.lax file points to "console" for the "*.redirect" properties (I set them to files in IDEA's home)

Only stable builds (also AFAIR) have no console output activated by default, EAP builds have

Have you tried both at the "same time"?

Regards,

Messi

0

This is what works for me with WinXPsp2 and 3095, which diverges slighly from what's described as the second option in the wiki:

(1) SET JAVA_EXE=%IDEA_HOME%\jre\bin\javaw.exe

(2) start %JAVA_EXE% %JVM_ARGS% -cp %CLASS_PATH% %MAIN_CLASS_NAME% %*

I had to remove all the quotes from the start command once I upgraded ;) from Win2K.

HTH

Eric

0

It will pop up a console window for every external command, which is
invoked by IDEA, e.g. attrib.

Tom

0

Nope, tried both, neither seems to be working, just can't seem to get rid the pesky console.

0

OK, I have tried getting rid of the console window using the .lax file
(which I attached, 3103).

What am I missing?

Also, what is the use of the console window nowadays? I understood its
use before the days of the smart exception handling and automatic error
reporting, but in what cases do we need it today?

Thanks,
Amnon

  1. LaunchAnywhere (tm) Executable Properties File - Zero G Software, Inc.

  1. LAX.APPLICATION.NAME

  2. --------------------

  3. the default name of this executable -- do not edit


lax.application.name=idea.exe

  1. LAX.CLASS.PATH

  2. --------------

  3. the Java classpath necessary to run this application

  4. Can be separated by colons (Mac OS/Unix) or semicolons (Windows)


lax.class.path=../lib/idea.jar;../lib/jdom.jar;../lib/log4j.jar;../lib/openapi.jar;lax.jar

  1. LAX.COMMAND.LINE.ARGS

  2. ---------------------

  3. what will be passed to the main method -- be sure to quote arguments with spaces in them


lax.command.line.args=$CMD_LINE_ARGUMENTS$

  1. LAX.DIR

  2. -------

  3. path to directory holding LaunchAnywhere's native launcher


lax.dir=C:
IntelliJ-IDEA-3103
bin


  1. LAX.MAIN.CLASS

  2. --------------

  3. the class that contains the main method for the application


lax.main.class=com.intellij.idea.Main

  1. LAX.MAIN.METHOD

  2. ---------------

  3. the method in the main class that will be invoked


lax.main.method=main

  1. LAX.NL.CURRENT.VM

  2. -----------------

  3. the VM to use for the next launch


lax.nl.current.vm=..
jre
bin
javaw.exe

  1. LAX.NL.JAVA.LAUNCHER.MAIN.CLASS

  2. -------------------------------

  3. main class of LaunchAnywhere's java launcher -- do not adjust


lax.nl.java.launcher.main.class=com.zerog.lax.LAX

  1. LAX.NL.JAVA.LAUNCHER.MAIN.METHOD

  2. --------------------------------

  3. main method of LaunchAnywhere's java launcher -- do not adjust


lax.nl.java.launcher.main.method=main



lax.nl.java.option.additional=-Xms16m -Xmx192m -Xrunyjpagent:port=10100 -Djavasvn.delta.disabled=true -Dsun.java2d.noddraw=true -Didea.system.path="..
system" -Didea.config.path="..
config" -Didea.popup.weight=heavy -Xbootclasspath/p:"C:
IntelliJ-IDEA-3103/lib/boot.jar"

  1. LAX.NL.VALID.VM.LIST

  2. --------------------

  3. a string containing one or more of

  4. delimited by spaces or commas. If the native launcher cannot find the current vm,

  5. it will search for ones in this list


lax.nl.valid.vm.list=

  1. LAX.NL.WIN32.MICROSOFTVM.MIN.VERSION

  2. ------------------------------------

  3. The minimum version of Microsoft's VM this application will run against


lax.nl.win32.microsoftvm.min.version=2750

  1. LAX.ROOT.INSTALL.DIR

  2. --------------------

  3. path to the installdir magic folder


lax.root.install.dir=C:
IntelliJ-IDEA-3103

  1. LAX.STDERR.REDIRECT

  2. -------------------

  3. leave blank for no output, "console" to send to a console window,

  4. and any path to a file to save to the file


lax.stderr.redirect=

  1. LAX.STDIN.REDIRECT

  2. ------------------

  3. leave blank for no input, "console" to read from the console window,

  4. and any path to a file to read from that file


lax.stdin.redirect=

  1. LAX.STDOUT.REDIRECT

  2. -------------------

  3. leave blank for no output, "console" to send to a console window,

  4. and any path to a file to save to the file


lax.stdout.redirect=

  1. LAX.USER.DIR

  2. ------------

  3. left blank, this property will cause the native launcher to not

  4. alter the platform default behavior for setting the user dir.

  5. To override this you may set this property to a relative or absolute path.

  6. Relative paths are relative to the launcher.


lax.user.dir=.

  1. LAX.VERSION

  2. -----------

  3. version of LaunchAnywhere that created this properties file


lax.version=5.5


0

Same problem for me, build 3117: I changed the lax file (javaw and commented out the redirect), but the damn console window is still present... :(

0

Edit the idea.bat file and change the following lines:

original:
SET JAVA_EXE=%IDEA_HOME%\jre\bin\java.exe

new:
SET JAVA_EXE=%IDEA_HOME%\jre\bin\javaw.exe

---

original:
"%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %MAIN_CLASS_NAME% %*

new:
start %JAVA_EXE% %JVM_ARGS% -cp "%CLASS_PATH%" %MAIN_CLASS_NAME% %*


then launch using bat file.


0

That does the trick, but the process is now seen as Javaw.exe, not idea.exe, which I dislike (having many other java processes around)

0

Can't we do it with the lax file? Why is this not working anymore?

I repeat my question to JetBrains: In what cases is the console still
needed, now that we have automatic exception submission?

Thanks,
Amnon

Jason Rentovich wrote:

Edit the idea.bat file and change the following lines:

original:
SET JAVA_EXE=%IDEA_HOME%\jre\bin\java.exe

new:
SET JAVA_EXE=%IDEA_HOME%\jre\bin\javaw.exe

---

original:
"%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %MAIN_CLASS_NAME% %*

new:
start %JAVA_EXE% %JVM_ARGS% -cp "%CLASS_PATH%" %MAIN_CLASS_NAME% %*


then launch using bat file.


0

Still there... in build 3126... changing the lax file doesn't work (and why do we need to do this??)

I'll open a bug

0

Same annoying behaviour with build 3136... :(

0

What I do is:

.
.
.
SET JAVA_EXE=%IDEA_HOME%\jre\bin\javaw.exe
.
.
.
start %JAVA_EXE% %JVM_ARGS% -cp %CLASS_PATH% %MAIN_CLASS_NAME% %*
.
.
.

It works!

Franklin.

Frederic Donckels wrote:

Same annoying behaviour with build 3136... :(


0

That does the trick for the .bat file. But in that case, the process appears in the process list as "javaw.exe", not as "idea.exe" anymore.

I don't think we should be forced to do such manipulations. It worked perfectly with older builds of Idea.

0

Okay, try this:

Go into your jre/bin directory, and create a copy of javaw.exe called idea_eap.exe.

Now, edit the idea.bat file, and change javaw.exe to idea_eap.exe.

For me, this eliminated the console window and the idea eap process showed up as "idea_eap" in the windows task manager.

HTH

Eric

0

Please sign in to leave a comment.