I'm not good at POM tweaking and so I need some help.
What's philosophy of defining libraries in POM? Let's say I use last stable JBoss AS 6. As I know it contains many of libraries, mainly Weld.
So how should I define Weld library in POM?
In examples I see this:
<parent> <groupId>org.jboss.weld</groupId> <artifactId>weld-core-parent</artifactId> <version>1.1.0.Final</version> <relativePath>../parent/pom.xml</relativePath> </parent>
Weld documentation says only about examples, but they uses hierarchical POM which isn't good for my app.
I made an CRUD example from Andy Gibson's archetype and it uses:
<dependency> <groupId>org.jboss.spec</groupId> <artifactId>jboss-javaee-6.0</artifactId> <version>1.0.0.CR1</version> <scope>provided</scope> <type>pom</type> </dependency>
So what should I use?
Let's look at Seam - Seam bom is nice and clean solution, documentation shows how to use artifacts - perfect :)
I have also problems with Hibernate/JPA. JPA 2 is part of JBoss AS 6, right? If Hibernate is default implementation in AS, so is Hibernate part of JBoss as it was earlier? Let's say for example Envers - it's part of Hibernate. And if hibernate is part of JBoss, is Envers in JBoss too? So how to define it in POM? Should i declare Hibernate library or not? should it be
provided or not?
JBoss contains outdated Weld library. Is it possible and good idea to update it? And how? Should i pack newest Weld with my app, or change Weld library in JBoss? And now what my POM should contains?
Next are tests. How to write POM for testable app? Examples uses Selenium (but none documentation about it anywhere). Arqullian works for me. JUnit/TestNG works too. But there is no article/documentation which testing framework should be used. And how to define POM with all those frameworks. We have profiles, but how to use them? Should tests be fired in every deploy, by Hudson/Jenkins? How developers of tests framework/Weld etc advise about it?