Apakah ada cara untuk mengkompilasi beberapa direktori sumber java dalam satu proyek pakar?
194
Anda dapat menambahkan direktori sumber baru dengan build-helper:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/generated</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
plugin
elemen dalam/project/build/plugins
dan BUKAN dalam/project/build/pluginManagement/plugins
m2e connector for build-helper-maven-plugin
dari eclipse marketplace untuk menghapus kesalahan di pom.xml'build.plugins.plugin.version' for org.codehaus.mojo:build-helper-maven-plugin is missing
Anda perlu menambahkan di<plugin>
dalam tag<version>1.12</version>
Dengan naif saya melakukannya dengan cara ini:
sumber
Ini berhasil untuk saya
sumber
sourceDirectory
- dan mungkin tambahansources
- sebagai akar dari file sumber. Dalam solusi Anda,maven-compiler-plugin
ini adalah satu-satunya plugin yang mengetahui akar sebenarnya ini.untuk membuatnya bekerja di intelliJ, Anda juga bisa menambahkan
untuk maven-compiler-plugin
sumber
Ini juga berfungsi dengan pakar dengan mendefinisikan tag sumber daya. Anda dapat memberi nama nama folder src Anda apa pun yang Anda suka.
sumber
Resources are not (usually) code. They are not compiled
Ini berfungsi dengan maven 3.5.4 dan sekarang Intellij Idea melihat kode ini sebagai sumber:
sumber
Menggunakan build-helper-maven-plugin dari postingan - dan memperbarui src / main / dihasilkan. Dan mvn kompilasi bersih berfungsi pada ../common/src/main/java saya, atau pada ../common, jadi simpan yang terakhir. Maka ya, mengonfirmasi bahwa tingkat kompilasi IntelliJ IDEA (ver 10.5.2) gagal seperti yang disebutkan oleh David Phillips. Masalahnya adalah bahwa IDEA tidak menambahkan root sumber lain ke proyek. Menambahkannya secara manual memecahkan masalah. Ini tidak baik karena mengedit apa pun dalam proyek harus berasal dari pakar dan bukan dari pengeditan langsung opsi proyek IDEA. Namun saya akan dapat hidup dengannya sampai mereka mendukung build-helper-maven-plugin secara langsung sehingga akan secara otomatis menambahkan sumber.
Kemudian perlu solusi lain untuk membuat pekerjaan ini. Karena setiap kali IDEA mengimpor ulang pengaturan pakar setelah pom mengubah saya, sumber yang baru ditambahkan disimpan dalam modul, namun kehilangan pilihan Sumber Folder itu dan tidak berguna. Jadi untuk IDEA - perlu mengatur ini sekali:
Sekarang menjaga folder tersebut pada impor juga bukan praktik terbaik di dunia, ..., tetapi cobalah.
sumber
Meskipun jawaban dari evokk pada dasarnya benar, namun tidak ada kelas tes . Anda harus menambahkan kelas tes dengan sumber add-test-tujuan :
sumber
Ini dapat dilakukan dalam dua langkah:
${build.directory}
Jika Anda bekerja dengan memulai Jetty (
jetty:run
), maka kompilasi ulang setiap kelas dalam modul apa pun (dengan Maven, IDEA atau Eclipse) akan mengarah ke restart Jetty. Perilaku yang sama Anda akan dapatkan untuk sumber daya yang dimodifikasi.sumber
Dalam konfigurasi, Anda dapat menggunakan
<compileSourceRoots>
.ini semua konfigurasi yang tersedia untuk versi 3.8.1 dari plugin kompiler. Versi berbeda memiliki konfigurasi berbeda yang dapat Anda temukan dengan menjalankan kode Anda
-X
setelah perintah mvn umum. Sukadan cari dengan id atau tujuan atau nama plugin Ini juga dapat membantu dengan plugin lain. Eclipse, intelliJ mungkin tidak menampilkan semua konfigurasi sebagai saran.
sumber