2012-12-12 42 views
14

Tôi muốn sử dụng Maven để thực thi một trình cắm thêm nào đó mà chỉ cần mã nguồn nhưng tôi không muốn Maven biên dịch bất kỳ thứ gì (chủ yếu là do dự án không biên dịch).Maven bỏ qua biên dịch

Làm cách nào để yêu cầu Maven bỏ qua bước biên dịch và chỉ khởi chạy trình cắm của nó và sau đó đóng gói các tài nguyên được tạo cùng nhau trong một JAR đẹp? (Thủ tục bước cuối cùng đã được biết đến với tôi.)

bổ sung Thông tin:

Vì vậy, chúng tôi đã cố gắng rất nhiều thứ ngay bây giờ, ví dụ:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.0</version> 
    <configuration> 
     <excludes> 
      <exclude>**/*</exclude> 
     </excludes> 
     <source>1.7</source> 
      <target>1.7</target> 
    </configuration> 
    <executions> 
     <execution> 
      <phase>deploy</phase> 
     </execution> 
    </executions> 
</plugin> 

Mặc dù khi chúng ta làm a mvn package chúng tôi nhận được điều này:

[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ project --- 
[INFO] Changes detected - recompiling the module! 
[INFO] Compiling ALOTOF source files to /home/myname/dir/dir/project/target/classes 

thư đã chỉnh sửa củac.

Trả lời

-1

Tôi sẽ xác định một pom riêng biệt để xây dựng riêng biệt đó.

Trong pom đó, bạn chỉ sử dụng plugin tạo tài nguyên của mình và plugin đóng gói.

Sau đó, bạn không phải lo lắng về việc đó quá nhiều.

4

Chức năng của Maven được tổ chức một phần trong các plugin, chứa các mục tiêu. Những mục tiêu này có thể được thực hiện mà không cần phải là một phần của vòng đời. Ví dụ cho cho jar-mục tiêu jar-plugin của bạn sẽ gọi:

mvn jar:jar 

Nếu bạn duyệt qua the list of available plugins bạn sẽ propably tìm ra functionalyity bạn đang tìm kiếm. Nếu nó là cần thiết, bạn thậm chí có thể xác định một "lắp ráp" để chọn các tập tin bạn muốn bó vào một kho lưu trữ.

13
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>default-compile</id> 
     <phase>compile</phase> 
     <goals> 
      <goal>compile</goal> 
     </goals> 
     <configuration> 
     <skipMain>true</skipMain> <--Skip 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

Đặt điều này thành 'true' để bỏ qua việc biên soạn các nguồn chính. Việc sử dụng nó là KHÔNG ĐƯỢC ĐỀ XUẤT, nhưng khá thuận tiện vào dịp này. Thuộc tính người dùng là: maven.main.skip.

mvn package -Dmaven.main.skip

2

Để ngăn chặn Maven biên soạn theo mặc định, trước tiên hãy chắc chắn rằng cấu hình của maven-biên dịch-pluginuseIncrementalCompilation = false:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
     <useIncrementalCompilation>false</useIncrementalCompilation> 
    </configuration> 
</plugin> 

Ngoài ra, trong trường hợp Tiểu sử Maven của bạn sử dụng maven-clean-plugin, sau đó theo mặc định nó phát hiện và xóa cấu hình thư mục ed trong project.build.directory, project.build.outputDirectory, project.build.testOutputDirectory, và project.reporting.outputDirectory.

Để vô hiệu hóa những dọn dẹp mặc định, thêm vào maven-sạch-plugin cấu hình: excludeDefaultDirectories = true:

<excludeDefaultDirectories>true</excludeDefaultDirectories> 
Các vấn đề liên quan