How do I get depend on all artifacts from a group of a version from maven?

java, lucene, maven

Solution

Short answer: you can't. Remember you just do this once and later you can simply copy-paste dependencies (not very DRY though). Also consider creating an archetype that will quickly create a skeleton with all required dependencies (for quick and dirty projects).

Longer answer: well, you can work around that. Create a separate `pom.xml` with:

<packaging>pom</packaging>

and declare all Lucene dependencies there manually, one after another. Once and for all. Later you can simply add a dependency to your `pom.xml` (that is to `groupId`/`artifactId`/`version` defined there) which will transitively include all dependencies of that `pom.xml`.

Talking about transitivity: if you depend on a JAR in maven and that JAR has other dependencies, you get that transitive dependencies implicitly. Examine Lucene `pom`s, maybe it's enough to import few of them and rely on transitive dependencies?

Problem

I'm new to Maven and I'm trying to build a project for the first time. I want to write some code that depends on apache lucene. Here's a list of artifacts in maven that I'm trying to get. Is there any way instead of explicitly listing each artifact, I could simply depend on all artifacts of a given version? I tried this: ``` <dependency> <groupId>org.apache.lucene</groupId> <artifactId>*</artifactId> <version>3.6.1</version> </dependency> ``` which gave me the error 'dependencies.dependency.artifactId' for org.apache.lucene::jar with value '' does not match a valid id pattern. @ line 19, column 19 I can verify that I can download dependencies when I explicitly state them. IE this works fine: ``` <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>3.6.1</version> </dependency> ``` I realize depending on everything in lucene is probably sub-optimal, but for doing something quick-and-dirty I'd hate to have to manually populate all these little lucene libraries. What is the typical practice for getting a large set of related dependencies in maven?

Original source