Chúng tôi muốn tạo một nguyên mẫu một phần để thêm custom-pom.xml
cũng như các tài nguyên khác vào một dự án hiện có. Sau đó, pom tùy chỉnh sẽ được sử dụng trong dự án được tạo thông qua mvn -f custom-pom.xml
.Maven Archetype Plugin - Cách sử dụng một nguyên mẫu một phần không chứa pom.xml?
Nguyên mẫu của chúng tôi do đó chứa src/main/resources/archetype-resources/osgi-pom.xml
, nhưng không chứa pom.xml
trong cùng một thư mục.
Chúng tôi đã sử dụng archetype:generate
được tham số thích hợp để chạy kiểu mẫu này trên một dự án hiện có. Điều này tạo ra:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:generate (default-cli) on project standalone-pom: org.apache.maven.archetype.exception.ArchetypeGenerationFailure: Error merging velocity templates: Unable to find resource 'archetype-resources/pom.xml' -> [Help 1]
Là một thử nghiệm, chúng tôi đã tạo ra một hình nộm archetype-resources/pom.xml
sau đó lại chạy mục tiêu generate
. Điều này tạo ra:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:generate (default-cli) on project standalone-pom: Don't override file /tmp/archetype/fabric-rf-server/pom.xml -> [Help 1]
Chúng tôi thấy this example không có archetype-resources/pom.xml
. Tuy nhiên, chúng tôi đang sử dụng tiêu chuẩn Archetype 2.0x, đó có thể là lý do tại sao chiến thuật này hoạt động cho tác giả đó chứ không phải chính chúng ta.
Làm cách nào chúng tôi có thể giải quyết vấn đề này? Là một nguyên mẫu một phần không thích hợp để chèn tài nguyên vào một dự án Maven hiện có - phải thay vì dự án không phải là Maven?
Chúng tôi đã tẩy rửa Maven Archetype plugin 2.2 documentation nhưng hầu như không có bất kỳ đề cập nào về các nguyên mẫu một phần và hành vi chuyên môn của chúng.
Maven dường như đang bị hình thành một số rối loạn lưỡng cực nghiêm trọng. Nếu tôi cung cấp cho nó archetype-resources/pom.xml, nó bảo tôi không viết lại nó. Nếu tôi không cho nó, nó nói với tôi rằng nó cần nó. Nếu tôi đưa nó nhưng trống, nó phàn nàn rằng nó không bắt đầu bằng. Nếu tôi bắt đầu nó với nó chỉ trở lại bước 1 và bảo tôi không viết lại pom.xml. Làm thế nào bạn có được từ catch22 này? –
kaqqao
@kaqqao Không chắc chắn, đây là một thời gian dài trước đây.Tôi vẫn còn có các tập tin làm việc - khi bạn thêm '' Tôi đoán bạn đang bao gồm tất cả các không gian tên thông thường guff vv? Vì vậy, làm việc của tôi bắt đầu với điều này: ' 4.0 .0 modelVersion> ' –
KomodoDave