2017-07-31 18 views
5

Tôi có một dự án sử dụng công nghệ webstart của Java. Tôi quyết định để nâng cấp phiên bản Java từ 8 đến 9. Tuy nhiên, tôi phải đối mặt với các lỗi sau về soạn thảo:gói javax.jnlp được khai báo trong mô-đun java.jnlp, không có trong biểu đồ mô-đun

error: package javax.jnlp is not visible 
import javax.jnlp.DownloadServiceListener; 
     ^
(package javax.jnlp is declared in module java.jnlp, which is not in the module graph) 

Tôi cố gắng để bao gồm C:\Program Files\Java\jdk-9\lib\javaws.jar vào classpath, nhưng vẫn cùng một vấn đề vẫn còn.

+0

Bạn đã thêm 'require javaws;' vào 'module-info.java' của bạn chưa? Nếu vậy bạn có thể thêm phiên bản xây dựng và tệp module-info.java của bạn. – nullpointer

+1

@nullpointer Tôi đã không sử dụng 'module-info.java'. Tất cả các gói khác được bao gồm theo mặc định trừ 'javaws'. Tôi nghĩ lý do đằng sau đây là những gì @Nicolai giải thích trong câu trả lời của anh ấy. Dù sao, vấn đề đã được giải quyết bằng cách sử dụng các mô-đun. Cảm ơn –

Trả lời

6

Dường như java.jnlp không được giải quyết theo mặc định cho mã trên đường dẫn lớp (giống như Java EE modules). Giải pháp là thêm nó một cách rõ ràng với --add-modules java.jnlp (cả hai số javacjava chấp nhận tham số đó).

+3

Nicolai là chính xác, chi tiết hơn trong phần "Mô-đun gốc" của JEP 261. Câu hỏi ban đầu cũng đề cập đến lib/javaws.jar - tệp JAR đó được sử dụng khi bản phát hành JDK 8 hoặc cũ hơn sử dụng các bit triển khai trong JDK 9. dự định được sử dụng trên đường dẫn lớp. –

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