Maven là một dự án phần mềm để quản lý việc xây dựng, báo cáo và tài liệu của một dự án từ một phần thông tin trung tâm. Nó hiện được sử dụng rộng rãi để xây dựng và triển khai các dự án. Nó có thể giúp tự động duy trì các dependency của dự án. Có một file cấu hình dự án trung tâm tên là pom.xml. Tại đây bạn có thể cấu hình dự án bạn muốn xây dựng.
Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách thêm đối số trình biên dịch khi sử dụng javac để biên dịch mã nguồn Java. Đôi khi chúng ta cần truyền đối số trình biên dịch khi biên dịch mã nguồn, ví dụ: chúng ta có thể muốn chỉ định bản phát hành -source và -target của mã. Đặc biệt trong Java 8 mới nhất, mã nguồn hiện đã được mô-đun hóa, Khi javac biên dịch mã, nó không liên kết với rt.jar
theo mặc định trong Java 8 mới nhất. Thay vào đó, nó sử dụng file ký hiệu đặc biệt lib/ct.sym
với các stub class. Tùy chọn -XDignore.symbol.file là để bỏ qua file ký hiệu để nó sẽ liên kết với rt.jar.
Để thêm đối số trình biên dịch, bạn cần thêm plugin trình biên dịch vào file pom.xml của dự án. Đây là cấu hình plugin mẫu:
<build> <plugins> <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> <fork>true</fork> <compilerArgs> <arg>-XDignore.symbol.file</arg> </compilerArgs> </configuration> </plugin> </plugins> </build>
Trong cấu hình này, phiên bản plugin thực sự quan trọng ở đây. Trước maven-compiler-plugin 3.1, đối số trình biên dịch phải là <compilerArgument>-XDignore.symbol.file</compilerArgument> thay thế và nó có một hạn chế, nếu bạn đặt nhiều <compilerArgument>...</compilerArgument>s, chỉ cái cuối cùng sẽ được chọn và tất cả những cái khác sẽ bị bỏ qua.
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>1.8</source> <target>1.8</target> <fork>true</fork> <compilerArgument>-XDignore.symbol.file</compilerArgument> </configuration> </plugin> </plugins> </build>
Vì vậy, chúng tôi đặc biệt khuyên bạn nên sử dụng plugin bắt đầu từ 3.1. Trong block <configuration>, bạn có thể chỉ định bản phát hành source và target của mã và cũng có danh sách các tùy chọn javac có thể được chỉ định.
Bạn có thể chạy maven với tùy chọn dòng lệnh -X để hiển thị thông tin gỡ lỗi, ở đó bạn sẽ thấy các đối số trình biên dịch mà bạn đã chỉ định. Ví dụ:
Good tutorial Keep it up.