in core/container/src/main/java/org/wildfly/swarm/internal/ArtifactManager.java [113:170]
private File findFile(String gav) throws IOException, ModuleLoadException {
// groupId:artifactId
// groupId:artifactId:version
// groupId:artifactId:packaging:version
// groupId:artifactId:packaging:classifier:version
String[] parts = gav.split(COLON);
if (parts.length < 2) {
throw SwarmMessages.MESSAGES.gavMinimumSegments();
}
String groupId = parts[0];
String artifactId = parts[1];
String packaging = JAR;
String version = null;
String classifier = "";
if (parts.length == 3) {
version = parts[2];
}
if (parts.length == 4) {
// the type "test-jar" is packaged as a .jar file more info: https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html
packaging = TEST_JAR.equals(parts[2]) ? JAR : parts[2];
version = parts[3];
}
if (parts.length == 5) {
packaging = TEST_JAR.equals(parts[2]) ? JAR : parts[2];
classifier = parts[3];
version = parts[4];
}
if (version != null && (version.isEmpty() || version.equals("*"))) {
version = null;
}
if (version == null) {
version = determineVersionViaApplicationEnvironment(groupId, artifactId, packaging, classifier);
}
if (version == null) {
version = determineVersionViaClasspath(groupId, artifactId, packaging, classifier);
}
if (version == null) {
throw SwarmMessages.MESSAGES.unableToDetermineVersion(gav);
}
ArtifactCoordinates coords = new ArtifactCoordinates(
groupId,
artifactId,
version,
classifier == null ? "" : classifier);
return MavenResolvers.get().resolveArtifact(coords, packaging);
}