Làm cách nào để có danh sách tất cả các mô-đun trong cá thể JVM hiện tại qua mã Java? Có thể không? Nếu có, thì làm thế nào?Làm thế nào để có được danh sách tất cả các mô-đun lập trình trong Java 9?
8
A
Trả lời
10
ModuleLayer.boot().modules().stream()
.map(Module::getName)
.forEach(System.out::println);
3
Sử dụng một lọ hoặc thư mục của module như một đầu vào cho các ứng dụng của bạn, bạn có thể có thể sử dụng một ModuleFinder
để bắt đầu với và tiếp tục làm cho việc sử dụng findAll
để tìm tập của tất cả các tài liệu tham khảo mô-đun mà công cụ tìm này có thể định vị.
Path dir1, dir2, dir3;
ModuleFinder finder = ModuleFinder.of(dir1, dir2, dir3);
Set<ModuleReference> moduleReferences = finder.findAll();
Đây là một cách dễ dàng có thể với các tùy chọn dòng lệnh vào danh sách các mô-đun như:
java -p <jarfile> --list-modules
mà nên là đủ tuy nhiên, nếu bạn không muốn cố tình nhận được vào tweaking things với số ModuleLayer
và Configuration
của java.lang.module
như được chỉ ra chính xác bởi @Alan's answer.
Các vấn đề liên quan
- 1. Làm thế nào để có được danh sách tất cả các cửa sổ xử lý trong Java (Sử dụng JNA)?
- 2. Làm thế nào để có được tất cả ánh xạ giữa hai danh sách?
- 3. Làm cách nào để có được tất cả các phân vùng của danh sách trong Mathematica?
- 4. Làm cách nào để có danh sách tất cả các loại được nạp trong C#?
- 5. Làm cách nào để có được tất cả danh sách phạm vi trong ActiveRecord 3.x
- 6. Làm cách nào để có danh sách tất cả các assembly hiện đang được nạp?
- 7. Làm thế nào để lập trình liệt kê tất cả các thuộc tính được xác định?
- 8. Làm cách nào để tìm tất cả các phần tử có thể có trong danh sách?
- 9. Làm thế nào để loại bỏ tất cả các chuỗi thoát khỏi danh sách các chuỗi?
- 10. Android, làm cách nào để có danh sách tất cả các tệp trong một thư mục?
- 11. Làm thế nào để có được một danh sách tắt tất cả các phiên máy chủ trong laravel?
- 12. Python Làm thế nào để có được tất cả các yếu tố đầu tiên trong 2 Danh sách Dimensional
- 13. Làm thế nào để có được danh sách tất cả các quỹ tương hỗ của Yahoo Finance trong R?
- 14. Làm thế nào để có được tất cả các liên kết của một danh sách bên trong một div?
- 15. Làm thế nào để có được danh sách của tất cả các file hình ảnh trong Watchkit mở rộng
- 16. Làm thế nào để có được danh sách tất cả các quan điểm vật chất trong oracle
- 17. Làm thế nào để nhân tất cả các số nguyên trong danh sách
- 18. Làm cách nào để kiểm tra xem tất cả các mục trong danh sách có trong danh sách khác không?
- 19. Cách đơn giản để lập trình có được tất cả các thủ tục được lưu trữ
- 20. Làm thế nào để có được commandline & đối số của quá trình trong Java 9
- 21. Làm thế nào để bạn có được danh sách tất cả các phông chữ đã cài đặt?
- 22. Làm cách nào để lấy danh sách và tạo tất cả các danh sách có độ dài ngày càng tăng?
- 23. Làm cách nào để có danh sách tất cả các lệnh shell hiện có
- 24. Làm thế nào để có được danh sách tất cả các tin nhắn cam kết SVN gần đây?
- 25. Lập trình truy xuất danh sách tất cả các phương thức giao hàng
- 26. thiết lập một cấu hình Git đệ quy cho tất cả các môđun con
- 27. Danh sách tất cả các màu có sẵn cho PowerShell?
- 28. Java 8 - Cách tổng hợp tất cả phần tử Danh sách trong Bản đồ Danh sách
- 29. Làm thế nào để thêm vào trước tất cả các yếu tố danh sách vào một danh sách khác
- 30. Làm thế nào để loại bỏ tất cả các chuỗi từ một danh sách
Điều này chỉ đúng nếu có lớp khởi động là lớp duy nhất. Nếu các mô-đun được nạp bởi các trình nạp lớp khác nhau, danh sách này sẽ không đầy đủ. –
Chắc chắn, nhưng đoạn mã sẽ khiến người đó hỏi câu hỏi bắt đầu. Có tất nhiên các API cho các công cụ và trình gỡ rối để liệt kê tất cả các mô-đun trong VM, bao gồm các mô-đun chưa được đặt tên, nhưng đó là cách vượt ra ngoài những gì tôi nghi ngờ câu hỏi là về. –
Tôi không đồng ý, Alan Bateman - câu trả lời này chưa hoàn thành. Như bạn gợi ý trong bình luận của bạn, điều này thậm chí không trả về các mô-đun chưa được đặt tên hoặc các mô-đun tự động, và sẽ tiếp tục rất phổ biến trong những năm đầu của Java 9. –