2008-11-05 27 views
14

Luôn luôn khi tôi chạy ứng dụng java nó sẽ hiển thị trong Windows Task Manager là java.exe hoặc javaw.exe. Cách đổi tên quá trình java.exe hoặc javaw.exe mà không có trình bao bọc bằng các ngôn ngữ lập trình khác.Làm thế nào để đổi tên quá trình java.exe/javaw.exe?

+0

Tại sao bạn muốn? –

+0

Dễ dàng xác định khi có nhiều ứng dụng java đang chạy trong cùng một thời điểm –

+0

Như âm thanh đó, nếu bạn chạy java Foo và java Bar từ dòng lệnh, chúng sẽ không chạy trong cùng một JVM và do đó trong cùng một java.exe? – SCdF

Trả lời

14

Nếu bạn đang bối rối bằng cách nhìn vào tên quá trình đó đều như nhau (java.exe), hãy cố gắng sử dụng Process Explorer thay vì Task Manager, và hiển thị các dòng lệnh lĩnh vực. Bằng cách này, bạn có thể thấy các đối số lớp hoặc jar phân biệt một quy trình này với quy trình khác.

+0

Thật tuyệt vời! Đề xuất tốt –

+1

Cột dòng lệnh khả dụng trên Trình quản lý tác vụ thông thường – Zzirconium

3

Tôi tin rằng đặt cược tốt nhất của bạn là sử dụng trình biên dịch trước thời hạn như Excelsior JET để tạo tệp thực thi. Với tư cách là they mention, bạn cũng có thể sử dụng công cụ tùy chỉnh hoặc trình bao bọc.

+0

Liên kết thứ hai có danh sách các trình bao bọc thực thi java miễn phí và không miễn phí. –

7

Bạn có thể sử dụng jSmooth:

JSmooth là một Java thực thi Wrapper. Nó tạo ra các bệ phóng Windows nguyên bản (chuẩn .exe) cho các ứng dụng java của bạn.

+1

+1 Giải pháp thực sự cho một vấn đề thực sự! – Ramon

+0

Nó chỉ là một trình bao bọc cho jar bên dưới, vẫn được nạp cho một JVM. – Mordechai

3

Cách dễ dàng và kém phong cách, bạn có thể sao chép java.exe hoặc javaw.exe (thực thi tệp) và đổi tên thành tên quy trình mới mà bạn muốn.

+1

dễ dàng và quá tệ :) – karlipoppins

5

Tôi nghi ngờ rằng các hệ điều hành thường không thích các quá trình cố gắng đổi tên "hình ảnh" của chúng. Ví dụ, nếu điều này có thể là rất dễ dàng cho một vi-rút mạo danh một quy trình hợp pháp.

Nhân tiện, bạn cũng có thể sử dụng "jps.exe" để liệt kê tất cả các quy trình Java và lớp chính tương ứng của chúng. "jps.exe" được tìm thấy trong thư mục bin của bản cài đặt Java của bạn.

0

Có hai cách tiếp cận chủ yếu: một là những cách khác được mô tả: sử dụng Launch4j, WinRun4J để tạo các bản khởi chạy Windows gốc.

Một cách tiếp cận khác có vẻ tốt hơn là sử dụng Apache Procrun để bao bọc ứng dụng java dưới dạng dịch vụ Windows. Trong quá trình cài đặt dịch vụ, chúng tôi có thể cung cấp cho quá trình một tên có ý nghĩa như OurApp.exe.

Tất cả những gì chúng tôi cần làm là đổi tên prunsrv.exe thành OurApp.exe và thay thế mọi lần xuất hiện của prunsrv.exe trong phần cài đặt của chúng tôi | bắt đầu | dừng | gỡ cài đặt dịch vụ tập lệnh vào MyApp.exe.

Xem thêm từ Using Apache Procrun to Rename Process Name of a Java Program in Windows

0

Cũ chủ đề nhưng nếu ai vẫn còn băn khoăn ... Nếu bạn sử dụng javapackager với -name MyTestApp -native image cờ nó sẽ tạo ra một hình ảnh thời gian chạy bản địa với thực thi MyTestApp.exe cho bạn và đây là cách nó sẽ trông giống như trong Task Manager với các biểu tượng mặc định:

task_manager_screenshot

Bây giờ, đóng gói như một ứng dụng khép kín có thể hoặc không thể là những gì bạn muốn. Nó có cả lợi ích và nhược điểm: https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1307236

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