Tôi đang sử dụng plugin sbt-native-packager để tạo tập lệnh bắt đầu cho ứng dụng của mình, rất thuận tiện vì plugin này tạo ra đặc tả classpath chính xác với tất cả các phụ thuộc thư viện của tôi. Tôi không phân phối ứng dụng này, do đó tôi không đóng gói toàn bộ thứ đó thành một tarball. Tôi chỉ sử dụng thư mục lib
được tạo bởi sbt-native-packager chứa tất cả các tệp jar mà dự án của tôi phụ thuộc, cả thư viện của bên thứ ba cũng như tệp jar chứa tệp lớp và tài nguyên của riêng tôi.Làm thế nào để làm cho sbt-native-packager không đặt tài nguyên của tôi vào tệp jar?
Trong thư mục src/main/resources
của dự án của tôi Tôi có các tệp mà tôi muốn chỉnh sửa mà không phải sử dụng sbt-native-packager để tạo lại toàn bộ cài đặt, ví dụ: tệp cấu hình. Điều này là khó khăn bởi vì những tập tin được nén lên trong tập tin jar với tất cả các lớp học của tôi.
Câu hỏi: làm thế nào tôi có thể nói sbt-native-packager không đặt tệp tài nguyên của tôi vào tệp jar, trong khi vẫn tạo tập lệnh khởi đầu với đường dẫn chính xác cho các tệp tài nguyên đó được định vị và đọc bởi ứng dụng của tôi như chúng bây giờ từ trong tệp jar? Nếu điều này có nghĩa là để lại tất cả các tệp lớp của tôi ra khỏi tệp jar, miễn là các tệp từ src/main/resources
vẫn là tệp mà tôi có thể thay đổi mà không cần gọi lại sbt stage
và miễn là tập lệnh bắt đầu hoạt động.
Tôi tin rằng bạn đang cố gắng để đạt được là hành vi mặc định của SBT-start-script https://github.com/sbt/sbt-start-script#about-this-plugin-sbt-start-script –
@ Jhonny Everson Đó có thể là, nhưng đó là 'README' cho dự án đó đã dẫn tôi đến sbt-native-packager. Điều đầu tiên nó nói (dưới một tiêu đề rất lớn) là nó có thể được thay thế bằng sbt-native-packager, điều này khiến cho âm thanh như thể là một ý tưởng tồi khi chấp nhận nó ngay từ khi nhà phát triển hy vọng sẽ ngừng duy trì nó. Nó cũng mô tả sbt-native-packager như là "tổng quát hơn", cho thấy rằng bất cứ điều gì mà plugin có thể làm, sbt-native-packager cũng có thể làm. –