Vấn đề là PS vì một số lý do phân tích cú pháp -Dresourcepath=.
khác với cmd. Điều gì làm việc là
java -cp '.;.\common.jar' -Dcontext=atest1 "-Dresourcepath=." DW_Install
Nó không quan trọng mà cách dấu gạch chéo đi, và nó không quan trọng mà trích dẫn một sử dụng ('
hoặc "
). Đường dẫn lớp phải được thoát, tuy nhiên, với một số loại trích dẫn. Một thử nghiệm tốt để xem những gì nhận được bởi các thông dịch viên PS là để echo nó. Sau đây:
echo java -cp '.;.\common.jar' -Dcontext=atest1 -Dresourcepath=. DW_Install
mang lại kết quả như sau:
java
-cp
.;.\common.jar
-Dcontext=etaste1
-Dresourcepath=
.
DW_Install
(Chú ý resourcepath và giá trị của resourcepath không trên cùng một dòng.) Trong khi đó, đầu ra để
echo java -cp '.;.\common.jar' -Dcontext=atest1 '-Dresourcepath=.' DW_Install
mang lại kết quả sau:
java
-cp
.;.\common.jar
-Dcontext=etaste1
-Dresourcepath=.
DW_Install
Đó là nhiều hơn nữa theo ý thích của chúng tôi.
Mặc dù tôi muốn điều này khi không ai trong số các bạn, tôi hy vọng bài đăng này sẽ giúp các bạn phải triển khai các dự án java trên máy Windows (mặc dù chúng sẽ không chạy trên bất kỳ nền tảng nào khác).
Nguồn
2011-01-18 16:22:43
Khi bạn nói nó không hoạt động trong Powershell, những gì thực sự xảy ra? – DanielGibbs
Tôi nhận được đầu ra trợ giúp java.exe, như thể tôi vừa gõ 'java' hoặc' java -help'. –