다음 중 하나의 논리를 사용하기 때문에 기존 방법을 찾지 못했습니다. 이것은 커스텀 이어 (ear)를 구축하는 플러그인으로 XML 파일에 필요한 의존성을 추가하고이를 아카이브에 포함시킵니다. 전이 의존성에 관심이 있으니 getDependencyArtifacts
대신 getArtifacts
을 사용하고 있습니다.
Collection<Artifact> dependencies = new ArrayList<Artifact>();
dependencies.addAll(project.getArtifacts());
for (Iterator<Artifact> it=dependencies.iterator(); it.hasNext();) {
Artifact dependency = it.next();
String scope = dependency.getScope();
String type = dependency.getType();
if (dependency.isOptional() || !"jar".equals(type) || "provided".equals(scope) || "test".equals(scope) || "system".equals(scope)) {
getLog().debug("Pruning dependency " + dependency);
it.remove();
}
}
Maven War Plugin의 출처를 살펴볼 수 있습니다. 특히 ArtifactsPackagingTask 클래스는 전쟁에 아티팩트를 추가하는 작업을 처리합니다. http://svn.apache.org/viewvc/maven/plugins/tags/maven-war-plugin-2.1.1/src/main/java/org /apache/maven/plugin/war/packaging/ArtifactsPackagingTask.java?view=markup –