2013-02-17 36 views
5

Công cụ trò chơi của tôi là sự kết hợp giữa Jython và Java, vì vậy tôi đang thực hiện một jar cùng với một tập lệnh python thay vì một tệp lớp.Javaw vẫn tạo cửa sổ bảng điều khiển; Tại sao điều này?

java -jar Jython.jar init.py 

Tuy nhiên, khi tôi thay đổi "java" thành "javaw", nó sẽ không ẩn bảng điều khiển như bình thường. Tại sao điều này và có cách nào để làm việc xung quanh nó?

+4

Chỉ cần một đoán: là 'java'/'dòng lệnh javaw' của bạn trong một tập tin thực thi đó là tự chịu trách nhiệm về giao diện điều khiển? – zigg

+0

Vâng nó đang chạy ra một tập tin thực thi, nhưng đó là phương pháp duy nhất của tôi thực thi mã, vì vậy nếu đó là lý do tại sao nó sẽ không hoạt động sau đó tôi sẽ chỉ dính vào nó. – Luft

+0

Tôi chỉ thử nghiệm nó ra cmd thay vì một tập tin thực thi và vấn đề vẫn tồn tại. Ý tưởng? – Luft

Trả lời

3

Tôi không nghĩ JavaConsole là một hàm của java.exe so với javaw.exe. Sự khác biệt là java.exe có stdout & stderr ghi vào SystemConsole và javaw.exe chạy mà không có stdout và stderr writting vào SystemConsole. Chạy java.exe sẽ chặn vì nó được kết nối với SystemConsole. Chạy javaw.exe sẽ trả về điều khiển cho SystemConsole khởi chạy (hoặc tập lệnh) và tiếp tục chạy mà không có SystemConsole.

Tắt JavaConsole bằng bảng điều khiển java hoặc biểu tượng java trên thanh tác vụ.

from the java control panel

from the task bar java icon

Các vấn đề liên quan