2011-07-26 28 views
15

Tôi hiểu chính xác, người xây dựng Java biên dịch lại nguồn trên đường dẫn đến đường dẫn đầu ra, thường xảy ra sau mỗi "ctrl + s" nếu xây dựng tự động được kích hoạt hoặc thông qua "ctrl + b" hoặc ném lỗi xác thực từ javac.Làm thế nào để các nhà xây dựng Java và Maven làm việc cùng nhau trong nhật thực?

Đối với Maven2Bulder. Tôi chỉ nhân bản kho lưu trữ git m2e-core và có lớp org.eclipse.m2e.core.internal.builder.MavenBuilder tương ứng, đó là những thứ khá phức tạp.

<projectDescription> 
    <name>modeshape-example-repositories</name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
     <buildCommand> 
      <name>org.eclipse.jdt.core.javabuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
     <buildCommand> 
      <name>org.eclipse.m2e.core.maven2Builder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
    </buildSpec> 
    <natures> 
     <nature>org.eclipse.m2e.core.maven2Nature</nature> 
     <nature>org.eclipse.jdt.core.javanature</nature> 
    </natures> 
</projectDescription> 

tôi nghĩ nó được pom.xml, biến m2eclipse về vị trí repo và settings.xml hoặc một số thông tin cấu hình và mục tiêu/mục tiêu của cấu hình Run hiện tại và nó chỉ chạy mvn với mẩu thông tin này, nhưng nó làm nhiều hơn nữa và nó có thể tạo ra hành vi bất ngờ.

Btw, là nó chỉ được sử dụng khi một nhà phát triển thực sự chạy như> một số mục tiêu maven ...?

Trả lời

12

Mục đích chính của trình xây dựng Maven là đảm bảo tính chính xác của tệp POM của bạn và kéo xuống các phụ thuộc mà bạn cần. Nó sẽ đi ra ngoài và kiểm tra các phụ thuộc mới nếu bạn lưu tệp POM của mình và nó sẽ báo cáo lỗi khi nó không thể tìm thấy các phụ thuộc.

Ngoài ra, trình xây dựng maven sẽ chạy một maven xây dựng mục tiêu mà bạn đã đặt trong Preferences -> Maven->Goal to run after updating project configuration sau khi bạn thực hiện Project->Clean... trên dự án của bạn từ nhật thực hoặc thay đổi tệp POM và lưu nó từ trong nhật thực.

Java Builder vẫn chịu trách nhiệm xây dựng dự án và báo cáo lỗi biên dịch trong khung nhìn Problems, để cung cấp đầu vào cho việc xây dựng trong Á hậu JUnit trong Eclipse vv

+4

Tôi không thấy bất kỳ tùy chọn trong Tùy chọn> Maven làm mục tiêu khi xây dựng. Điều này có nghĩa là khi tôi lưu pom, build/clean project, MavenBuilder sẽ chạy? Còn về trình xây dựng java, nó được cho là chạy khi ctrl + b phải không? Hay nó chỉ chạy khi tôi lưu một tập tin * .java trên đường dẫn src? – lisak

+1

Nếu bạn đã xây dựng tự động bật, trình xây dựng java sẽ xây dựng khi bạn lưu tệp .java. Nếu không, thì nó sẽ chạy khi bạn nhấn ctrl + b. –

+1

Tôi đang nói về MavenBuilder, bạn nói rằng "maven builder sẽ chạy một maven build lên mục tiêu mà bạn đã đặt trong Preferences -> Maven sau khi bạn làm sạch trên project của bạn" – lisak

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