2012-10-14 24 views
12

Tôi sử dụng plugin ứng dụng gradle để tạo thư mục ứng dụng. Tác vụ installApp cung cấp một kịch bản khởi đầu cho tôi, nhưng tôi không có ý tưởng để thiết lập jvm args từ build.gradle.Làm cách nào để đặt jvm args mặc định thành plugin ứng dụng gradle?

Một số jvm args tôi cần, chẳng hạn như file.encoding. Tôi chỉ thay đổi kịch bản bắt đầu để thiết lập DEFAULT_JVM_OPTS biến

#!/usr/bin/env bash 

############################################################################## 
## 
## MuzeeS3Deployer start up script for UN*X 
## 
############################################################################## 

# Add default JVM options here. You can also use JAVA_OPTS and MUZEE_S_DEPLOYER_OPTS to pass JVM options to this script. 
DEFAULT_JVM_OPTS=" -Dfile.encoding=utf-8 " 

Nếu args không được thiết lập, giao diện điều khiển của tôi không thể hiển thị thông điệp tốt:

qty:MuzeeS3Deployer qrtt1$ ./build/install/MuzeeS3Deployer/bin/MuzeeS3Deployer d 
2012/10/14 #U###12:02:03 SyncCommand main 
ĵ#i: no aws credentials found at /Users/qrtt1/AwsCredentials.properties 

Khi tôi đặt mã hóa:

qty:MuzeeS3Deployer qrtt1$ ./build/install/MuzeeS3Deployer/bin/MuzeeS3Deployer d 
2012/10/14 下午 12:04:19 SyncCommand main 
警告: no aws credentials found at /Users/qrtt1/AwsCredentials.properties 

Tôi nhận giải pháp từ @Peter. Cuối cùng, tôi thực hiện một thay đổi nhỏ đối với các tập lệnh:

startScripts { 
    doLast { 
     unixScript.text = unixScript.text.replace('DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="-Dfile.encoding=utf-8"') 
     windowsScript.text = windowsScript.text.replace('DEFAULT_JVM_OPTS=', 'DEFAULT_JVM_OPTS="-Dfile.encoding=utf-8"') 
    } 
} 

Trả lời

10

Hiện tại không có hỗ trợ đặc biệt nào để đặt DEFAULT_JVM_OPTS. Tuy nhiên, bạn có thể làm điều gì đó như:

startScripts { 
    doLast { 
     unixScript.text = unixScript.text.replace('DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="-Dfile.encoding=utf-8"') 
    } 
} 

Bạn có thể muốn làm điều gì đó tương tự cho windowsScript.

+1

hoạt động :) Tôi sẽ thêm giải pháp vào bài đăng của mình. – qrtt1

+4

Không sử dụng tính năng này nữa! Sự sollution này đã lỗi thời. –

+0

có, bây giờ bạn có thể thêm vào build.gradle một cái gì đó như: applicationDefaultJvmArgs = ['-Dxxxxx'] – YaP

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