JavaRush /Blog Jawa /Random-JV /Miwiti karo Maven Alfresco SDK part 1
CynepHy6
tingkat
Великий Новгород

Miwiti karo Maven Alfresco SDK part 1

Diterbitake ing grup

Miwiti karo Alfresco Maven SDK

Jeff Potts, Januari, 2014 part 2 =>
  • Pambuka
  • Konsep dhasar
  • Apache Maven
  • Paket Modular Alfresco (AMP)
  • Alfresco Maven SDK
  • Apa sampeyan bisa ngomong babagan SDK basis Ant lawas?
  • Proyek pisanan sampeyan
  • Ayo diluncurake
  • Apa iku?
  • Perintah mbangun liyane
  • logging

Pambuka

Tutorial iki digawe kanggo wong-wong sing kudu, ing sawetara cara, ngatur Alfresco ing project. Lan mulane sampeyan mikir, "Apa iki?!" Nanging ing pungkasan sampeyan bakal sinau:

  • Carane nggawe proyek Alfresco saka ngeruk nggunakake Alfresco Maven SDK
  • Apa sing kudu kelakon gumantung setelan sampeyan
  • Carane nggawe lan mbukak test
  • Cara nggawe artefak sing cocog kanggo disematake utawa dienggo bareng karo komunitas

Tutorial iki kudu dianggep minangka titik wiwitan sadurunge sampeyan pindhah menyang sinau sing luwih rinci babagan prekara kaya model konten, tumindak lan prilaku kustomisasi, alur kerja tambahan, utawa skrip web.

Sadurunge kita miwiti, digression singkat: Ana meh tansah akeh dalan alternatif kanggo solusi. Ing tutorial iki aku bakal nggawa sampeyan kanthi cara sing paling gampang lan langsung, rute sing aman sing bakal mbantu sampeyan ngerteni luwih cepet. Mengko sampeyan bisa ngganti sawetara utawa njelajah rute liyane yen pengin.

Konsep dhasar.

Sampeyan ora perlu ngerti kakehan bab Maven, Alfresco, utawa apa SDK iki dibutuhake sadurunge sampeyan miwiti nggunakake, nanging sawetara kawruh bisa bantuan ing sawetara cara, supaya kula cepet mlaku sampeyan liwat konsep dhasar.

Apache Maven

Apache Maven minangka alat manajemen mbangun. Nduwe akeh fitur, nanging sing utama yaiku ngirit wektu kanggo nemtokake dependensi (lan dependensi dependensi) proyek sampeyan gumantung. Maven bisa njupuk lan cache dependensi iki kanggo sampeyan. Yen sampeyan wis nate ngentekake wektu kanggo ngerteni file JAR sing bakal teka sawise file JAR, mula kegunaan alat kasebut jelas.

Paket Modular Alfresco (AMP)

AMP minangka file ZIP kanthi struktur direktori miturut konvensi tartamtu. File AMP digunakake kanggo gampang nuduhake lan masang setelan ing platform Alfresco. Yen proyek sampeyan kudu nggawe setelan khusus ing tingkat repo (aplikasi web / alfresco) banjur nggawe "repo" AMP. Yen proyek sampeyan kudu nggawe setelan ing level Share (aplikasi web / nuduhake) sampeyan nggawe AMP "nuduhake". Cukup khas kanggo proyek yen owah-owahan dibutuhake ing tingkat loro, sampeyan nggawe rong AMP.

Alfresco Maven SDK

Programer saiki wis biasa karo kerangka kerja sing kuat ing ngendi direktori kosong bakal diisi file sajrone sawetara menit lan sabanjure proyek sampeyan siap diluncurake. Napa pangembang Alfresco kudu mbayar luwih murah?

Sasaran saka SDK basis Maven kanggo nggawe kahanan paling gampang kanggo miwiti pembangunan kanggo Alfresco. SDK kasusun saka cithakan project ("archetype" ing terminologi Maven) lan sawetara fitur dibangun ing Maven carane nggawe AMPs lan masang menyang Alfresco.

Yen sampeyan nulis aplikasi dhewe kanthi kapisah saka Alfresco lan Share WARs, mula sampeyan ora butuh Alfresco Maven SDK. Nanging yen sampeyan arep kanggo nulis kode sing mlaku ing samubarang aplikasi web iki, Alfresco Maven SDK Panggonan kanggo miwiti.

Apa babagan SDK basis Ant lawas?

Alfresco wis nyedhiyakake SDK sing bisa didownload wiwit wiwitan. SDK ngemot wadhah ZIP kanthi dependensi sing dibutuhake kanggo kompilasi, kode sumber, dokumentasi, lan conto proyek Eclipse. Conto kasebut nggunakake pembangun adhedhasar Ant.

Ora ana sing salah karo pendekatan iki, nanging platform pangembangan wis berkembang, lan SDK Semut gagal berkembang karo dheweke. Nganti saiki, bagean saka conto iki wis lawas (API layanan Web asli, contone, utawa antarmuka panganggo Alfresco Explorer) lan ora cukup conto kanggo bagean sing penting banget kayata CMIS, skrip Web, lan alur kerja lanjutan nggunakake Activiti.

Saliyane conto lawas, Ant SDK lawas dibutuhake. Pangembang nindakake kakehan karya. Kanthi Alfresco Maven SDK, sampeyan ora kudu ngundhuh apa-apa - sampeyan mung nggawe proyek lan miwiti coding.

Sampeyan saiki duwe tingkat pemahaman sing dhuwur babagan Apache Maven, AMP, lan Alfresco Maven SDK. Iku wektu kanggo ndeleng kabeh ing tumindak

Proyek Pisanan Sampeyan

Ayo kula nuduhake sampeyan carane gampang kanggo miwiti ngembangaken kanggo Alfresco nggunakake Alfresco Maven SDK. Sadurunge miwiti, aku kudu ngelingake sampeyan duwe JDK 1.7 diinstal, uga Apache Maven 3 diinstal. Sampeyan ora perlu ngundhuh apa-apa liyane. Serius. Malah Alfresco.

  1. Nggawe direktori kosong. Kita bakal nggawe sawetara direktori tambahan ing kana.
  2. Saiki ayo nggawe proyek kosong. Contone, sampeyan pengin nggawe barang sing bakal sampeyan pasang ing gudang Alfresco, contone model konten khusus, sawetara tumindak aturan khusus, skrip web anyar, utawa sawetara proses bisnis Activiti. Pancen ora masalah. Kanggo nggawe proyek anyar, jalanake printah:
    mvn archetype:generate\
    -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml\
    -Dfilter=org.alfresco.maven.archetype:
  3. Maven bakal nindakake sawetara karya lan pungkasane njaluk sampeyan milih "archetype". Pilihan dhasar saka perpustakaan cithakan proyek. Ana rong kasedhiya ing kene. Siji diarani "alfresco-amp-archetype" lan liyane "alfresco-allinone-archetype". Tujuan kita yaiku nggawe AMP sing bisa disebarake ing Alfresco, dadi titik pisanan sing kita butuhake. Ketik 1 banjur pencet Ketik.
  4. Maven saiki njaluk sampeyan versi cithakan tartamtu sing bakal dadi basis proyek sampeyan. Saiki, versi paling anyar yaiku 1.1.1 sing minangka pilihan kaping lima ing dhaptar supaya pencet 5 lan Ketik.
  5. Maven takon babagan groupId. Iku padha karo "paket Jawa". Contoku mesthi adhedhasar kasunyatan manawa aku kerja ing perusahaan fiktif sing diarani SomeCo, mula aku bakal ngetik "com.someco" ing kene. Ketik soko sing cocog karo sampeyan banjur pencet Ketik.
  6. Sabanjure yaiku artifactId. Mikir minangka jeneng proyek sampeyan. Iki uga bakal dadi ID AMP sampeyan, mula pilih sing khusus. Sampeyan uga kudu nambah baris "-repo" kanggo artifactId amarga modul iki bakal dibangun ing repositori. Aku bakal jenenge "someco-mvn-tutorial-repo" banjur pencet Ketik.

  7. Ing wektu iki, Maven bakal nuduhake sampeyan nilai sing sampeyan lebokake, nambah sawetara standar liyane, lan njaluk sampeyan konfirmasi pilihan sampeyan. Yen sampeyan pengin ngganti apa wae, sampeyan bisa milih "N" banjur gawe owah-owahan utawa "Y" kanggo nerusake. Sampeyan bisa ngganti nilai kasebut mengko yen perlu. Pencet "Y" banjur Ketik.

Maven saiki bakal nindakake sawetara karya. Yen wis rampung, sampeyan bakal entuk:

  • Proyek sing disusun kanggo ndhukung pangembangan Alfresco sampeyan
  • File konfigurasi standar
  • Kode Java minimal kanggo tes unit tambahan kanggo mriksa manawa kabeh bisa digunakake
  • Konfigurasi dibutuhake kanggo mbukak instance Alfresco lokal sing dibutuhake kanggo testing
  • Default POM (Project Object Model) file XML sing ngandhani Maven apa dependensi proyek sampeyan

Ayo dadi mbukak

Sampeyan durung ngunggah apa-apa. Sampeyan durung nyunting apa-apa. Kabeh sing sampeyan tindakake mung marang Maven kanggo nggawe proyek adhedhasar cithakan, nanging aku duwe kabar apik: proyek sampeyan siyap kanggo mbukak saiki.

Coba iki:

cd someco-mvn-tutorial-repo
mvn integrasi-test -Pamp-kanggo-perang

Yen katon ing output, sampeyan bakal weruh sing Maven download kabeh needed kanggo ngumpulake project, nggawe AMP, masang AMP kanggo Alfresco WAR, masang Alfresco WAR menyang server Tomcat ditempelake, lan mbukak. Pungkasane sampeyan bakal weruh sing padha karo:

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

Tegese modul proyek sampeyan digawe lan diakoni dening server Alfresco.

Sawise sampeyan ndeleng:

Jan 16, 2014 8:38:20 AM org.apache.coyote.AbstractProtocol wiwitan INFO: Miwiti ProtocolHandler ["http-bio-8080"]

Sampeyan kudu bisa mbukak:

http://localhost:8080/alfresco

Lan mlebu nganggo "admin" lan "admin".

Yen wis rampung admiring, bali menyang jendhela ngendi sampeyan mbukak printah Maven lan penet ctrl-c kanggo mateni server.

Yen sampeyan njaluk kesalahan metu saka memori nalika mbukak test integrasi, sampeyan bisa uga kudu ngetik sawetara paramèter JVM kanggo opsi memori ing Maven. Salah sawijining solusi sing bisa ditindakake yaiku nyetel variabel lingkungan MAVEN_OPTS. Contone, aku nyetel nilaiku dadi:

-Xmx1024M -XX:MaxPermSize=512m

Gunakake MAVEN_OPTS kanggo nyetel cukup supaya sampeyan ora bisa ndeleng kasalahan overflow memori.

Apa iku?

Sampeyan wis takon Maven kanggo mbukak "integrasi-test" kanggo nggunakake profil "amp-to-perang". Iki nyebabake mbangun proyek kasebut, nggunakake AMP menyang WAR Alfresco sing anyar, lan mbukak server Tomcat sing dipasang. Sawise iku, sampeyan bisa mlebu menyang klien Alfresco Explorer lawas lan nggarap repositori, nguji modul sampeyan.

Yen katon ing direktori target, sampeyan bakal weruh AMP sing digawe lan banjur disebarake ing Alfresco WAR. Ing kasusku diarani "someco-mvn-tutorial-repo.amp". Berkas iki minangka apa sing kudu diwenehake marang tim IT yen sampeyan siyap ngetrapake owah-owahan tingkat panyimpenan menyang server Alfresco sing urip.

Perintah Mbangun Liyane

Sampeyan bisa uga ora tansah kudu miwiti server Alfresco lan ninggalake iku mlaku. Yen sampeyan mung pengin mbangun proyek, nglakokake tes unit, lan paket AMP, sampeyan bisa nindakake:

paket mvn

Yen sampeyan pengin nginstal AMP ing repositori Maven lokal, bukak:

mvn nginstal

Sampeyan bisa uga wis ngeweruhi sing project kalebu tes unit prasaja minangka standar. Kanthi gawan, Maven bakal kanthi otomatis mbukak tes unit ing proyek sampeyan. Sampeyan bisa ndeleng iki ing output console:

--------------------------------------------------- -----
 TES
--------------------------------------------------- -----
Mlaku org.alfresco.demoamp.test.DemoComponentTest

Praktek sing apik kanggo mesthekake proyek sampeyan tansah kalebu tes unit lan mbukak saben sampeyan mbangun. Akeh organisasi nggunakake piranti CI (Continuous Integration) sing gumantung ing tes kasebut. Yen sakperangan alesan sampeyan ora pengin mbukak testing, sampeyan bisa ngliwati, kaya iki:

mvn nginstal -DskipTests = bener

Yen sampeyan pengin mbusak kabeh kompilasi sing digawe Maven lan miwiti maneh, sampeyan bisa mbukak:

mvn resik

Yen sampeyan uga pengin mbusak database sing wis dibangun, isi Alfresco sing disimpen, indeks, lan log sing tansah digawe nalika nyoba server, sampeyan bisa mbukak:

mvn resik -Purge

Saiki sampeyan ngerti carane nggawe proyek Alfresco anyar nggunakake cithakan lan duwe dhasar bangunan karo utawa tanpa tes. Langkah sabanjure yaiku sinau babagan nggarap proyek sampeyan ing IDE.

logging

File log4j.properties dumunung ing direktori modul, file log4j.properties kalebu

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

Sampeyan bisa uga pengin ngganti iki karo setelan sampeyan dhewe sing cocog karo struktur paket sampeyan.

Kanggo ngatur module.log.level sampeyan bisa nindakake iki nalika sampeyan miwiti Maven, kaya iki:

mvn nginstal -Dmodule.log.level=DEBUG

Utawa sampeyan bisa ngowahi pom.xml lan nambah iki menyang properti, kaya iki:

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

Yen sampeyan ngganti pom.xml, banjur AMP bakal nampa setelan kasebut nalika digawe, lan sabanjure, WAR ing ngendi AMP disebarake bakal nulis log. Iki bisa uga (utawa ora) sing dikarepake. Yen sampeyan ora yakin, luwih becik nyetel nilai nggunakake baris perintah amarga iki bakal nyegah sampeyan ora sengaja ngrusak nilai ing AMP sampeyan.

Arsitek ECM


Karya iki dilisensi miturut Lisensi Atribusi-BerbagiSerupa Creative Commons 3.0 . Bagean 2 =>
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION