Nếu tôi chạy gói sạch mvn Tôi thấy tệp này không được sao chép vào tệp chiến tranh trong thư mục đích.
Sau đó, các tập tin bản đồ có lẽ không nằm trong thư mục tài nguyên mặc định (src/main/resources
) nhưng trong thư mục nguồn (src/main/java
) và Maven sẽ không sao chép chúng vào thư mục build đầu ra theo mặc định.
Tuy nhiên, nếu tôi chỉ làm sạch mvn và sau đó chuyển đến nhật thực và chọn Làm sạch từ trình đơn Dự án, tệp sẽ được gửi đến vị trí thích hợp trong mục tiêu. Sau đó tôi có thể thực hiện gói mvn để gói thành công tệp chiến tranh có quyền truy cập vào cơ sở dữ liệu.
Theo Eclipse, tôi đoán là tệp từ thư mục nguồn được sao chép vào thư mục đầu ra xây dựng, bao gồm tệp tài nguyên ứng dụng. Vì vậy, điều này bằng cách nào đó "lừa" Maven khi bạn chạy package
sau bước sạch Eclipse. Nhưng điều này không thực sự quan trọng, chủ nhân là Maven, mọi thứ khác đều không liên quan.
Để khắc phục, hãy di chuyển tệp ánh xạ của bạn sang src/main/resources
. Hoặc giữ chúng trong src/main/java
và khai báo thư mục nguồn như một thư mục tài nguyên "thêm":
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
Một số người làm được điều này, tôi thích sử dụng thư mục riêng biệt.
Nguồn
2010-08-27 20:55:26
bạn có chắc chắn tệp xml của mình nằm trong thư mục tài nguyên không? – mhshams