2012-05-29 38 views
15

(Vui lòng đọc ít nhất điều này trước khi trả lời: Đây là một biện pháp tạm thời ! Không, chúng tôi không muốn thiết lập trình quản lý kho lưu trữ cục bộ và chạy thủ công một tập lệnhNhiều cài đặt: tập tin cài đặt trong một pom.xml duy nhất

Chúng tôi có một dự án kế thừa với một số phụ thuộc mà chúng tôi có bản sao cục bộ bao gồm nguồn và javadoc, và được chứng minh là hoạt động tốt trong sản xuất, nhưng không có sẵn ở cùng chất lượng ở Trung tâm. Chúng tôi muốn sử dụng những cái lọ mà chúng tôi đã có.

Tôi đã tìm thấy rằng tôi có thể chạy lệnh mvn install:install-file phức tạp phù hợp để lấy các tạo phẩm được chèn vào kho lưu trữ của máy cục bộ, nhưng tôi muốn nó hoạt động như một phần của việc xây dựng maven bình thường của các mô-đun khác nhau của chúng tôi.

Với tôi có một module trống khác chứa nhiều lọ đó mỗi cần phải được chèn với một install:install-filelàm thế nào tôi nên làm điều này trong pom.xml của tôi là hoàn toàn tuân thủ QTI với Maven bình thường xây dựng?

Hoặc tôi có thể chỉ đính kèm nhiều lọ là đầu ra của mô-đun và bằng cách nào đó đính kèm javadoc và nguồn không?)?

(và, xin vui lòng, không gợi ý về trình Trung ương hoặc thiết lập một trình quản lý kho lưu trữ địa phương. Đây là một giải pháp tạm thời cho đến khi chúng ta có một cơ hội để nâng cấp lên một phiên bản mới hơn của sự phụ thuộc)

+0

bạn muốn cài đặt chạy với mọi bản dựng của dự án? không phải là cài đặt cục bộ một lần? – jtahlborn

+0

Tôi đoán nó có thể tạo ra một tạo tác pom và chỉ được cập nhật khi tạo tác thay đổi? Nhưng nếu nó là cần thiết cho điều này, đó sẽ là chấp nhận được cho bây giờ. –

+0

Xem [câu trả lời này] (https://stackoverflow.com/a/48670812/1744774) tới [Tôi muốn tải tất cả các JAR từ thư mục dự án lib của tôi với Maven] (https://stackoverflow.com/q/48665906/ 1744774) để tránh rằng 'install-plugin' chạy ở mọi bản dựng. –

Trả lời

17

tôi sẽ tưởng tượng một cái gì đó như thế này sẽ hoạt động (điều này sẽ cài đặt nó trên mọi công trình xây dựng):

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-install-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>inst_1</id> 
        <phase>initialize</phase> 
        <goals> 
         <goal>install-file</goal> 
        </goals> 
        <configuration> 
         <!-- config for file 1 --> 
        </configuration> 
       </execution> 
       <execution> 
        <id>inst_2</id> 
        <phase>initialize</phase> 
        <goals> 
         <goal>install-file</goal> 
        </goals> 
        <configuration> 
         <!-- config for file 2 --> 
        </configuration> 
       </execution> 
       <!-- execution file 3... --> 
      </executions> 
     </plugin>    
    </plugins> 
</build> 
+0

Hoạt động tốt - cảm ơn! –

+1

Tôi tin rằng có một lỗi trong câu trả lời này. ' khởi tạo' phải được thay đổi thành ' cài đặt' cho tôi trong Eclipse Luna. Nếu không Eclipse sẽ gắn cờ nó là vòng đời không hợp lệ – MattEdge

+0

"mvn initialize" đặt các jars vào kho lưu trữ maven cục bộ chứ không phải là "mvn install". Tại sao ? – signonsridhar

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