Anda membuat proyek baru. Proyek baru adalah proyek perakitan EAR Anda yang berisi dua dependensi untuk proyek EJB dan proyek WAR Anda.
Jadi Anda sebenarnya memiliki tiga proyek ahli di sini. Satu EJB. Satu PERANG. Satu TELINGA yang menarik kedua bagian menjadi satu dan menciptakan telinga.
Deskriptor penerapan dapat dibuat oleh maven, atau ditempatkan di dalam direktori sumber daya dalam struktur proyek EAR.
Plugin maven-ear adalah yang Anda gunakan untuk mengkonfigurasinya, dan dokumentasinya bagus, tetapi tidak terlalu jelas apakah Anda masih mencari tahu cara kerja maven secara umum.
Jadi sebagai contoh Anda mungkin melakukan sesuatu seperti ini:
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>myEar</artifactId>
<packaging>ear</packaging>
<name>My EAR</name>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<version>1.4</version>
<modules>
<webModule>
<groupId>com.mycompany</groupId>
<artifactId>myWar</artifactId>
<bundleFileName>myWarNameInTheEar.war</bundleFileName>
<contextRoot>/myWarConext</contextRoot>
</webModule>
<ejbModule>
<groupId>com.mycompany</groupId>
<artifactId>myEjb</artifactId>
<bundleFileName>myEjbNameInTheEar.jar</bundleFileName>
</ejbModule>
</modules>
<displayName>My Ear Name displayed in the App Server</displayName>
<!-- If I want maven to generate the application.xml, set this to true -->
<generateApplicationXml>true</generateApplicationXml>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<finalName>myEarName</finalName>
</build>
<!-- Define the versions of your ear components here -->
<dependencies>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>myWar</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>myEjb</artifactId>
<version>1.0-SNAPSHOT</version>
<type>ejb</type>
</dependency>
</dependencies>
</project>
type
sebagaiejb
<type>ejb</type>
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-ear-plugin is missing
dan'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing
, jadi Anda mungkin ingin memperbarui jawaban yang bagusApa yang banyak membantu saya adalah menjalankan pola dasar Maven: menghasilkan tujuan dan memilih dari salah satu pola dasar, beberapa di antaranya tampaknya diperbarui secara berkala (khususnya JBoss tampaknya dipertahankan dengan baik).
Ratusan arketipe muncul dalam daftar bernomor untuk dipilih (519 sampai sekarang!). Sasarannya, masih berjalan, mendorong saya untuk membuat pilihan dengan memasukkan angka atau memasukkan string pencarian, misalnya:
Saya memasukkan string pencarian "ear", yang mengurangi daftar menjadi hanya 8 item (hingga hari ini):
Saya memilih "org.jboss.spec.archetypes: jboss-javaee6-ear-webapp" (dengan memasukkan pilihan "5" dalam contoh ini).
Selanjutnya, tujuan meminta saya untuk memasukkan groupId, artifactId, nama paket, dll., Dan kemudian menghasilkan aplikasi contoh yang terdokumentasi dengan baik berikut:
Setelah membaca empat file POM, yang memiliki banyak komentar, saya mendapatkan hampir semua informasi yang saya butuhkan.
sumber
saya telah membuat repositori github untuk menunjukkan apa yang menurut saya merupakan struktur proyek startup yang baik (atau praktik terbaik) ...
https://github.com/StefanHeimberg/stackoverflow-1134894
beberapa kata kunci:
Keluaran Maven:
sumber
NetBeans IDE secara otomatis mendefinisikan struktur yang hampir mirip dengan yang disarankan oleh Patrick Garner. Untuk pengguna NetBeans
File -> Proyek Baru -> Di sisi kiri pilih Maven dan Di sisi kanan pilih Aplikasi Perusahaan Maven dan tekan Berikutnya -> Minta nama proyek untuk perang, ejb dan pengaturan.
IDE akan secara otomatis membuat struktur untuk Anda.
sumber
Ini adalah contoh bagus dari bagian maven-ear-plugin .
Anda juga dapat memeriksa arketipe maven yang tersedia sebagai contoh. Jika Anda baru saja menjalankan arketipe mvn: menghasilkan Anda akan mendapatkan daftar arketipe yang tersedia. Salah satunya adalah
sumber
maven-archetype-j2ee-simple
tampaknya tidak perlu rumit dalam struktur - terutama dengan modul di dalam modul, dan modul terpisah untuk hal-hal seperti logging. Saya tidak mengerti alasan di balik struktur iniSaya telah mencari tinggi dan rendah untuk contoh ujung-ke-ujung dari aplikasi paket telinga lengkap berbasis maven dan akhirnya menemukan ini . Instruksi mengatakan untuk memilih opsi 2 saat menjalankan melalui CLI tetapi untuk tujuan Anda, gunakan opsi 1.
sumber