Vì vậy, tôi đang cố thêm một số khả năng vào dự án của mình để cho phép các thuộc tính do người dùng định nghĩa trong tạo phẩm triển khai của tôi - một tệp khóa đơn giản: giá trị .properties. Tôi đặt file service.properties trongCách tải tệp thuộc tính trong Google App Engine?
war/WEB-INF/my-service.properties
Và trong constructor ServiceImpl.java của tôi, tôi có như sau:
String propertiesFileName = "my-service.properties";
URL propertyURL = ClassLoader.getSystemResource(propertiesFileName);
URL propertyURL2 = this.getClass().getClassLoader().getResource(propertiesFileName);
URL propertyURL3 = this.getClass().getClassLoader().getResource("WEB-INF/" + propertiesFileName);
URL propertyURL6 = this.getClass().getClassLoader().getResource(
"E:/Projects/eclipse-workspace/projectName/war/WEB-INF/" + propertiesFileName);
Tất cả các bản sao của URL tài sản là null. Tôi biết tôi đang thiếu một cái gì đó hoàn toàn rõ ràng, nhưng tôi cần một đôi mắt thứ hai. Trân trọng.
EDIT:
Ah, có vẻ như tôi đã nhầm lẫn như là mặc định dự án GAE tạo ra một tập tin logging.properties trong/chiến tranh. Từ Google App Engine documentation:
SDK Java của máy ứng dụng bao gồm tệp mẫu logging.properties, trong thư mục appengine-java-sdk/config/user /. Để sử dụng nó, sao chép tệp vào thư mục WEB-INF/classes của bạn (hoặc ở nơi khác trong WAR), sau đó thuộc tính hệ thống java.util.logging.config.file thành "WEB-INF/classes/logging.properties" (hoặc bất kỳ đường dẫn nào bạn chọn, liên quan đến gốc ứng dụng). Bạn có thể đặt thuộc tính hệ thống trong tệp appengine-web.xml, như sau:
Tôi cho rằng đó là một lỗi đánh máy trong câu hỏi của bạn chứ không phải là ứng dụng của bạn, nhưng bạn nói rằng tập tin của bạn được gọi là "service.properties" chưa propertiesFileName được thiết lập để "my-service.properties"! –
@Todd: Vâng, đó là lỗi đánh máy, tôi sẽ sửa nó. –