JavaRush /Java Blog /Random-ID /Memulai Maven Alfresco SDK bagian 1
CynepHy6
Level 34
Великий Новгород

Memulai Maven Alfresco SDK bagian 1

Dipublikasikan di grup Random-ID

Memulai dengan Alfresco Maven SDK

Jeff Potts, Januari 2014 bagian 2 =>
  • Perkenalan
  • Konsep dasar
  • Apache Maven
  • Paket Modular Alfresco (AMP)
  • SDK Alfresco Maven
  • Apa pendapat Anda tentang SDK berbasis Ant yang lama?
  • Proyek pertama Anda
  • Mari kita luncurkan
  • Apa itu?
  • Perintah build lainnya
  • Pencatatan

Perkenalan

Tutorial ini dibuat untuk orang-orang yang perlu, dalam beberapa hal, mengkonfigurasi Alfresco pada sebuah proyek. Jadi pada awalnya Anda berpikir, “Apa ini?!” Namun pada akhirnya Anda akan belajar:

  • Cara membuat proyek Alfresco dari awal menggunakan Alfresco Maven SDK
  • Apa yang akan terjadi tergantung pada pengaturan Anda
  • Cara membuat dan menjalankan pengujian
  • Cara membuat artefak yang cocok untuk disematkan atau dibagikan kepada komunitas

Tutorial ini harus dianggap sebagai titik awal sebelum Anda melanjutkan ke pembelajaran yang lebih mendetail tentang hal-hal seperti pemodelan konten, penyesuaian tindakan dan perilaku, alur kerja tambahan, atau skrip web.

Sebelum kita mulai, ada penyimpangan singkat: Hampir selalu ada banyak jalan alternatif menuju solusi. Dalam tutorial ini saya akan membawa Anda dengan cara yang paling sederhana dan langsung, rute aman yang akan membantu Anda mengetahuinya lebih cepat. Nantinya Anda bisa mengubah beberapa hal atau menjelajahi rute lain jika Anda mau.

Konsep dasar.

Anda tidak perlu mengetahui terlalu banyak tentang Maven, Alfresco, atau mengapa SDK ini diperlukan sebelum Anda mulai menggunakannya, namun beberapa pengetahuan dapat membantu dalam beberapa hal, jadi izinkan saya memandu Anda dengan cepat melalui konsep dasar.

Apache Maven

Apache Maven adalah alat manajemen pembangunan. Ini memiliki banyak fitur, tetapi yang utama adalah menghemat waktu dalam mencari tahu dependensi (dan dependensi dari dependensi) mana yang diandalkan oleh proyek Anda. Maven dapat mengambil dan menyimpan dependensi ini untuk Anda. Jika Anda pernah menghabiskan waktu mencoba mencari tahu file JAR mana yang muncul setelah file JAR mana, maka kegunaan alat tersebut sudah jelas.

Paket Modular Alfresco (AMP)

AMP adalah file ZIP dengan struktur direktori mengikuti konvensi tertentu. File AMP digunakan untuk berbagi dan menerapkan pengaturan dengan mudah di platform Alfresco. Jika proyek Anda perlu membuat pengaturan khusus di tingkat repo (aplikasi web/di luar ruangan), maka Anda membuat "repo" AMP. Jika proyek Anda perlu membuat pengaturan di tingkat Bagikan (aplikasi web/berbagi), Anda membuat AMP "berbagi". Biasanya suatu proyek ketika perubahan diperlukan di kedua level, Anda membuat dua AMP.

SDK Alfresco Maven

Pemrogram saat ini terbiasa dengan kerangka kerja yang kuat di mana direktori kosong akan terisi penuh dengan file dalam satu menit dan saat berikutnya proyek Anda siap diluncurkan. Mengapa pengembang Alfresco harus menerima harga yang lebih murah?

Tujuan SDK berbasis Maven adalah menciptakan kondisi yang paling sederhana untuk memulai pengembangan Alfresco. SDK terdiri dari templat proyek ("arketipe" dalam terminologi Maven) dan beberapa fitur bawaan yang memberi tahu Maven cara membuat AMP dan menerapkannya ke Alfresco.

Jika Anda menulis aplikasi Anda sendiri secara terpisah dari Alfresco dan Share WARs, maka Anda tidak memerlukan Alfresco Maven SDK. Namun jika Anda ingin menulis kode yang berjalan di salah satu aplikasi web ini, Alfresco Maven SDK adalah tempat untuk memulai.

Bagaimana dengan SDK berbasis Ant yang lama?

Alfresco telah menyediakan SDK yang dapat diunduh ini sejak awal. SDK berisi wadah ZIP dengan dependensi yang diperlukan untuk kompilasi, kode sumber, dokumentasi, dan contoh proyek Eclipse. Contoh-contoh ini menggunakan pembuat berbasis Ant.

Tidak ada yang salah dengan pendekatan ini, namun platform pengembangan telah berevolusi, dan SDK Ant gagal berevolusi bersamanya. Saat ini, sebagian dari contoh ini sudah ketinggalan zaman (API layanan Web asli, misalnya, atau antarmuka pengguna Alfresco Explorer) dan tidak ada cukup contoh untuk bagian yang sangat penting seperti CMIS, skrip Web, dan alur kerja tingkat lanjut yang menggunakan Activiti.

Selain contoh-contohnya yang sudah ketinggalan zaman, Ant SDK yang lama juga diperlukan. Pengembang melakukan terlalu banyak pekerjaan. Dengan Alfresco Maven SDK, Anda bahkan tidak perlu mengunduh apa pun - Anda cukup membuat proyek dan mulai membuat kode.

Anda sekarang memiliki pemahaman tingkat tinggi tentang Apache Maven, AMP, dan Alfresco Maven SDK. Saatnya untuk melihat semuanya beraksi

Proyek Pertama Anda

Izinkan saya menunjukkan kepada Anda betapa mudahnya mulai mengembangkan Alfresco menggunakan Alfresco Maven SDK. Sebelum kita mulai, saya harus mengingatkan Anda untuk menginstal JDK 1.7, serta menginstal Apache Maven 3. Anda tidak perlu mendownload apa pun lagi. Dengan serius. Bahkan di tempat terbuka.

  1. Buat direktori kosong. Kami akan segera membuat beberapa direktori tambahan di dalamnya.
  2. Sekarang mari kita buat proyek kosong. Katakanlah Anda ingin membuat sesuatu yang akan Anda terapkan ke repositori Alfresco, misalnya model konten khusus, beberapa tindakan aturan khusus, kumpulan skrip web baru, atau beberapa proses bisnis Aktivitas. Itu tidak masalah. Untuk membuat proyek baru, jalankan perintah:
    pola dasar mvn: hasilkan\
    -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml\
    -Dfilter=org.alfresco.maven.archetype:
  3. Maven akan melakukan beberapa pekerjaan dan akhirnya meminta Anda memilih "arketipe". Pilihan dasar Anda dari perpustakaan templat proyek. Ada dua yang tersedia di sini. Yang satu disebut "alfresco-amp-archetype" dan yang lainnya "alfresco-allinone-archetype". Tujuan kami adalah membuat AMP yang bisa di-deploy di Alfresco, jadi poin pertama itulah yang kami butuhkan. Ketik 1 dan tekan Enter.
  4. Maven sekarang meminta Anda untuk versi spesifik dari templat yang akan menjadi dasar proyek Anda. Saat ini, versi terbarunya adalah 1.1.1 yang merupakan opsi kelima dalam daftar, jadi tekan 5 dan Enter.
  5. Maven bertanya tentang groupId. Ini mirip dengan "paket Java". Contoh saya selalu didasarkan pada kenyataan bahwa saya bekerja di perusahaan fiktif bernama SomeCo, jadi saya akan memasukkan "com.someco" di sini. Ketik sesuatu yang masuk akal bagi Anda dan tekan Enter.
  6. Berikutnya adalah ArtifactId. Anggap saja sebagai nama proyek Anda. Ini juga akan menjadi ID AMP Anda jadi pilihlah sesuatu yang istimewa. Anda juga harus menambahkan baris "-repo" ke artifakId Anda karena modul ini akan dimasukkan ke dalam repositori. Saya akan memberi nama milik saya "someco-mvn-tutorial-repo" dan tekan Enter.

  7. Pada tahap ini, Maven akan menampilkan nilai yang Anda masukkan, menambahkan beberapa default lainnya, dan meminta Anda mengonfirmasi pilihan Anda. Jika Anda ingin mengubah apa pun, Anda dapat memilih "N" lalu melakukan perubahan atau "Y" untuk melanjutkan. Anda selalu dapat mengubah nilai-nilai ini nanti jika perlu. Tekan "Y" lalu Enter.

Maven sekarang akan melakukan beberapa pekerjaan. Ketika selesai Anda akan mendapatkan yang berikut:

  • Sebuah proyek yang disusun untuk mendukung pengembangan Alfresco Anda
  • File konfigurasi default
  • Kode Java minimal untuk pengujian unit tambahan guna memeriksa apakah semuanya berfungsi
  • Konfigurasi diperlukan untuk menjalankan instance Alfresco lokal yang diperlukan untuk pengujian
  • File XML POM (Project Object Model) default yang memberi tahu Maven dependensi apa yang dimiliki proyek Anda

Mari kita jalankan

Anda belum mengunggah apa pun. Anda belum mengedit apa pun. Yang Anda lakukan hanyalah memberi tahu Maven untuk membuat proyek berdasarkan templat, tapi saya punya kabar baik: proyek Anda siap dijalankan sekarang.

Coba ini:

cd someco-mvn-tutorial-repo
mvn uji integrasi -Pamp-to-war

Jika Anda melihat outputnya, Anda akan melihat bahwa Maven mengunduh semua yang diperlukan untuk mengkompilasi proyek, membuat AMP, menerapkan AMP ke Alfresco WAR, menerapkan Alfresco WAR ke server Tomcat yang tertanam, dan menjalankannya. Akhirnya Anda akan melihat sesuatu yang mirip dengan:

15-01-2014 18:01:19,339 INFO [repo.module.ModuleServiceImpl] [localhost-startStop-1] Ditemukan 1 modul.
15-01-2014 18:01:19,480 INFO [repo.module.ModuleServiceImpl] [localhost-startStop-1] Menginstal modul 'someco-mvn-tutorial-repo' versi 1.0.1401151758.

Artinya modul proyek Anda dibuat dan dikenali oleh server Alfresco.

Setelah Anda melihat:

16 Jan 2014 8:38:20 org.apache.coyote.AbstractProtocol mulai INFO: Memulai ProtocolHandler ["http-bio-8080"]

Anda seharusnya dapat membuka:

http://localhost:8080/alfresco

Dan login menggunakan "admin" dan "admin".

Setelah selesai mengaguminya, kembali ke jendela tempat Anda menjalankan perintah Maven dan tekan ctrl-c untuk mematikan server.

Jika Anda mendapatkan kesalahan kehabisan memori saat menjalankan pengujian integrasi, Anda mungkin perlu memasukkan beberapa parameter JVM untuk opsi memori di Maven. Salah satu solusi yang mungkin adalah dengan mengatur variabel lingkungan MAVEN_OPTS. Misalnya, saya menetapkan nilai saya menjadi:

-Xmx1024M -XX:Ukuran Perm Maks=512m

Gunakan MAVEN_OPTS untuk mengaturnya secukupnya sehingga Anda tidak melihat kesalahan kelebihan memori.

Apa itu?

Anda telah meminta Maven menjalankan "integration-test" untuk menggunakan profil "amp-to-war". Hal ini menyebabkan pembangunan proyek, penerapannya sebagai AMP ke Alfresco WAR yang baru, dan menjalankan server Tomcat yang tertanam. Setelah itu, Anda dapat masuk ke klien Alfresco Explorer lama dan bekerja dengan repositori, menguji modul Anda.

Jika Anda melihat di direktori target, Anda akan melihat AMP yang dibuat dan selanjutnya di-deploy di Alfresco WAR. Dalam kasus saya ini disebut "someco-mvn-tutorial-repo.amp". File inilah yang harus Anda berikan kepada tim TI Anda jika Anda siap menerapkan perubahan tingkat repositori Anda ke server Alfresco langsung.

Perintah Bangun Lainnya

Anda mungkin tidak selalu perlu memulai server Alfresco dan membiarkannya berjalan. Jika Anda hanya ingin membangun proyek, menjalankan pengujian unit, dan mengemas AMP, Anda dapat melakukan:

paket mvn

Jika Anda ingin menginstal AMP di dalam repositori Maven lokal Anda, jalankan:

instal mvn

Anda mungkin telah memperhatikan bahwa proyek ini menyertakan pengujian unit sederhana secara default. Secara default, Maven akan secara otomatis menjalankan pengujian unit di proyek Anda. Anda dapat melihatnya di keluaran konsol:

--------------------------------------------------- -----
 UJI
--------------------------------------------------- -----
Menjalankan org.alfresco.demoamp.test.DemoComponentTest

Merupakan praktik yang baik untuk memastikan proyek Anda selalu menyertakan pengujian unit dan menjalankannya setiap kali Anda membangun. Banyak organisasi menggunakan alat CI (Continuous Integration) yang bergantung pada pengujian ini. Jika karena alasan tertentu Anda tidak ingin menjalankan pengujian, Anda dapat melewatinya, seperti ini:

mvn install -DskipTests=benar

Jika Anda ingin menghapus semua kompilasi yang dibuat Maven dan memulai kembali, Anda dapat menjalankan:

sangat bersih

Jika Anda juga ingin menghapus database internal, menyimpan konten Alfresco, indeks, dan log yang selalu dibuat saat menjalankan pengujian server, Anda dapat menjalankan:

mvn bersih -Membersihkan

Sekarang Anda tahu cara membuat proyek Alfresco baru menggunakan template dan memahami dasar-dasar pembuatannya dengan atau tanpa pengujian. Langkah selanjutnya adalah mempelajari cara bekerja dengan proyek Anda di IDE.

Pencatatan

File log4j.properties terletak di direktori modul, termasuk file log4j.properties

log4j.logger.org.alfresco.demoamp.DemoComponent=${module.log.level}

Anda mungkin ingin menggantinya dengan pengaturan Anda sendiri yang sesuai dengan struktur paket Anda.

Untuk mengonfigurasi module.log.level Anda dapat melakukan ini saat memulai Maven, seperti ini:

mvn instal -Dmodule.log.level=DEBUG

Atau Anda dapat mengedit pom.xml dan menambahkan ini ke properti, seperti ini:

<module.log.level>DEBUG</module.log.level>

Jika Anda mengubah pom.xml, AMP akan menerima pengaturan ini saat dibuat, dan selanjutnya, WAR tempat AMP diterapkan akan menulis log. Ini mungkin (atau mungkin tidak) yang Anda inginkan. Jika Anda tidak yakin, mungkin lebih baik mengatur nilai menggunakan baris perintah karena ini akan mencegah Anda mengacaukan nilai di AMP Anda secara tidak sengaja.

Arsitek ECM


Karya ini dilisensikan di bawah Lisensi Creative Commons Attribution-ShareAlike 3.0 Unported . Bagian 2 =>
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION