Maven: Menggunakan Plugin Exec Maven dan membaca properti proyek

Saya mengalami situasi di mana saya harus membaca file properti tertentu dan kemudian memanggil program eksternal.

  • Untuk membaca file properti, saya menggunakan Properties Maven Plugin, menggunakan read-project-properties pada tahap validasi

  • Untuk menjalankan program eksternal saya menggunakan Exec Maven Plugin , memanggil exec:exec gol

Namun tampaknya jika saya memanggil "mvn exec:exec", fase validasi tidak dipanggil dan dengan demikian, propertinya tidak terbaca.

Dan dalam skenario saya saat ini, saya tidak dapat mengikat exec:exec ke fase tertentu (dan itu karena semua fase lainnya memiliki pekerjaan yang sangat spesifik untuk ditangani dan apa yang saya coba jalankan dengan exec:exec tidak dipetakan ke salah satu dari fase-fase ini. Ini lebih merupakan hal mandiri yang saya coba lakukan).

Satu-satunya solusi yang saya temukan adalah menelepon mvn validate exec:exec, yang berfungsi tetapi pertanyaan saya adalah:

  1. Apakah merupakan ide bagus untuk menggabungkan fase dan tujuan sebagai bagian dari eksekusi pakar?
  2. Atau adakah cara bagi saya untuk membuat plugin exec membaca propertinya?

person Sujay    schedule 01.08.2013    source sumber


Jawaban (1)


dapatkah Anda menggunakan profil untuk mengikatnya ke fase tertentu tetapi hanya dalam keadaan/lingkungan tertentu ?

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

Anda dapat menggunakan variabel pengguna atau lingkungan, atau secara eksplisit menggunakan profil tertentu, untuk memicu pilihan profil Anda. Kemudian di profil baru ini Anda dapat mendefinisikan ulang untuk memiliki fase untuk diri Anda sendiri.

Tampaknya mungkin untuk benar-benar menciptakan fase siklus hidup baru, meskipun tidak mudah :

https://community.jboss.org/wiki/CreatingACustomLifecycleInMaven?_sscc=t

sejujurnya, saya akan tetap menggunakan baris perintah yang Anda miliki, memanggil validasi dan kemudian exec. Saya tidak tahu efek sampingnya apa pun, dan seperti yang Anda katakan, ini hanyalah tugas lokal yang berdiri sendiri.

person Graham Griffiths    schedule 01.08.2013
comment
Terima kasih atas jawaban Anda, Graham. Saya sebenarnya berpikir untuk menggunakan profil terpisah. Satu-satunya hal yang saya tidak suka tentang ini adalah saya menduplikasi plugin properti saya (sekali di tempatnya saat ini dan yang lain di dalam profil). Saya berharap untuk melihat apakah ada solusi yang lebih bersih melalui cara ini. - person Sujay; 01.08.2013