Tôi đang gặp một dự án của các hình thức sau đâyđẩy nhanh tiến độ lắp ráp maven của nhiều mô-đun
- pom.xml
- projectA
- pom.xml
- src/main/
- java
- startupScript
- projectB
- pom.xml
- src/main/
- java
- startupScript
- projectAssembly
- pom.xml
Tôi muốn projectAssembly
để sản xuất một tar.gz rằng sẽ chứa hai thư mục một cho PROJECTA và một cho projectB, trong mỗi thư mục, sẽ có các phụ thuộc của dự án và thư viện startupScript
.
Các "ngây thơ" cách để làm điều đó là để thêm assembly.xml
tập tin cho từng dự án, một tập tin mà khoảng trông giống như:
<assembly>
<formats>
<format>tar.gz</format>
</formats>
<baseDirectory>/${project.artifactId}</baseDirectory>
<fileSets>
<fileSet>
<directory>${basedir}/src/main/startupScripts</directory>
<outputDirectory>/startupScripts</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>/lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
Sau đó, trong projectAssembly
, phụ thuộc vào <type>tar.gz</type>
của cả hai projectA
và projectB
, và thêm một file lắp ráp trong đó khoảng trông giống như
<assembly>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<unpack>true</unpack>
</dependencySet>
</dependencySets>
</assembly>
làm việc này, tuy nhiên, tôi không cần trung gian tar.gz
các dự án A
và 01.và sản xuất chúng, đặc biệt nếu chúng có nhiều phụ thuộc, mất nhiều thời gian.
Làm thế nào tôi có thể yêu cầu maven trực tiếp lắp ráp tar.gz của projectAssembly
mà không lãng phí thời gian đóng gói và giải nén tài liệu lưu trữ trung gian?
Bạn có cần phụ thuộc trong tệp a và b tar.gz của dự án không? Nếu không chỉ loại bỏ dependencySets khỏi bộ mô tả assembly. – khmarbaise
@khmarbaise nhưng chúng sẽ xuất hiện như thế nào trong tar.gz cuối cùng được tạo bởi 'assemblyProject'? – mikebloch
Xin chào! Bạn đang sử dụng phiên bản Maven nào? – Jan