Ngoài src / main / java, tôi đang thêm một thư mục src / bootstrap mà tôi muốn đưa vào quá trình xây dựng của mình, nói cách khác, tôi muốn maven biên dịch và đưa các nguồn ở đó vào bản dựng của mình. Làm sao!?
src/{main,test}/
là nói ở đây
Ngoài src / main / java, tôi đang thêm một thư mục src / bootstrap mà tôi muốn đưa vào quá trình xây dựng của mình, nói cách khác, tôi muốn maven biên dịch và đưa các nguồn ở đó vào bản dựng của mình. Làm sao!?
src/{main,test}/
là nói ở đây
Câu trả lời:
Bạn có thể sử dụng Plugin trình trợ giúp xây dựng , ví dụ:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>some directory</source>
...
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
buildpath
dành cho bất kỳ ai không? vì nó không dành cho tôi. FWIW, tôi sử dụng m2e
để nhập dự án.
Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source (execution: add-source, phase: generate-sources)
gặp lỗi này
pom.xml
dưới dạng -<project>
....
<build>
<resources>
<resource>
<directory>src/main/config</directory>
</resource>
</resources>
...
</build>
...
</project>
<resource>
là thư mục "Tài nguyên" nhưng không phải là thư mục "Nguồn", ví dụ: nó sẽ không biên dịch các tệp nguồn Java bên trong chúng.
http://maven.apache.org/guides/mini/guide-using-one-source-directory.html
<build>
<sourceDirectory>../src/main/java</sourceDirectory>
cũng thấy
Với các phiên bản Maven gần đây (3) và phiên bản gần đây của plugin trình biên dịch maven (3.7.0), tôi nhận thấy rằng build-helper-maven-plugin
không bắt buộc phải thêm thư mục nguồn với tệp nếu thư mục chứa mã nguồn để thêm vào bản dựng nằm trong target
thư mục hoặc một thư mục con của nó.
Có vẻ như trình biên dịch maven plugin biên dịch bất kỳ mã nguồn java nào nằm bên trong thư mục này bất kể thư mục chứa chúng.
Ví dụ, có một số mã nguồn (được tạo hoặc không) trong target/a
, target/generated-source/foo
sẽ được biên dịch và thêm vào trong outputDirectory : target/classes
.
Bạn có thể thêm các thư mục cho quá trình xây dựng của mình như:
...
<resources>
<resource>
<directory>src/bootstrap</directory>
</resource>
</resources>
...
Src / main / java là đường dẫn mặc định không cần thiết được đề cập trong pom.xml
target/classes
, nhưng không được biên dịch). Câu hỏi này là về việc thêm một thư mục nguồn, nơi chứa các tệp sẽ được biên dịch vào target/classes
, không được sao chép.