2015-04-23 53 views
22

Tôi có một lớp chính dự kiến ​​các thuộc tính nhất định mà tôi chuyển qua sử dụng tùy chọn -D. Tôi có thể truy cập điều này trong IDE của tôi bằng cách gửi chúng dưới dạng tùy chọn VM.Cách chuyển thuộc tính hệ thống vào tệp jar

tôi gói ứng dụng này vào một tập tin jar sử dụng Maven và khi tôi thử như sau:

java -jar myjar.jar -Denviroment=dev

hoặc

java -jar myjar.jar "-Denvironment=dev"

Thuộc tính hệ thống môi trường là không nhận được nhặt.

Mọi gợi ý về những gì đang diễn ra?

+0

Tôi có thể tìm ra điều này. Chỉ để nó giúp người khác. Tất cả tôi đã làm là để vượt qua -D trước khi các jar như hình dưới đây: java-jar -Denvironment = dev myjar.jar (không chắc chắn làm thế nào mà sẽ làm cho một sự khác biệt!) – arjunj

+1

'-jar myjar.jar' nên được thêm cuối cùng sau khi tất cả '-D' Xem bên dưới trả lời – SashikaXP

Trả lời

40

Vượt qua các đối số trước -jar. Nếu bạn vượt qua chúng sau khi tệp jar chúng được hiểu là tham số dòng lệnh và được chuyển đến String[] args trong main. Giống như,

java -Denviroment=dev -jar myjar.jar 
Các vấn đề liên quan