나는 많은 프로젝트를 개미 + 아이비에서 Gradle로 변환하고있다.gradle 추가 -source.jar to war
프로젝트 중 하나 (address
)는 웹 응용 프로그램에 포함시킬 간단한 jar를 생성합니다. jar와 소스 항아리를 개인 ivy 저장소에 게시하기 위해 build.gradle을 설정했습니다.
address/build.gradle
발췌 :
apply plugin: 'java'
apply plugin: 'publishing'
apply plugin: 'ivy-publish'
[...snip...]
task sourceJar(type: Jar) {
from sourceSets.main.java
classifier "source"
}
publishing {
repositories {
ivy {
url 'http://dev.example.com/ivy/'
layout "pattern", {
artifact "[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"
}
}
}
publications {
ivy(IvyPublication) {
from components.java
artifact(sourceJar) {
type "source"
}
}
}
}
나는 gradlew publish
이것을 게시 할 수 있습니다. 내 웹 애플리케이션은 결과 항아리에 대한 종속성이 있습니다
compile 'com.example:address:1.0.0'
내가 가진 문제는 내가 웹 애플리케이션에 gradlew build
을 수행 할 때, 전쟁의 WEB-INF/lib 디렉토리가 예상 address-1.0.0.jar
과 함께 address-source-1.0.0.jar
이 포함되어 있다는 것입니다.
원본 병이 전쟁에 포함되는 이유를 알 수 없습니다. gradlew dependencies
에 표시되지 않습니다. 여기
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">
<info organisation="com.example" module="address" revision="1.0.0" status="integration" publication="20141027154452"/>
<configurations>
<conf name="default" visibility="public" extends="runtime"/>
<conf name="runtime" visibility="public"/>
</configurations>
<publications>
<artifact name="address" type="jar" ext="jar" conf="runtime"/>
<artifact name="address" type="source" ext="jar" conf="runtime" m:classifier="source"/>
</publications>
<dependencies>
<dependency org="org.springframework" name="spring-asm" rev="3.0.5.RELEASE" conf="runtime->default"/>
<dependency org="org.springframework" name="spring-beans" rev="3.0.5.RELEASE" conf="runtime->default"/>
<dependency org="org.springframework" name="spring-context" rev="3.0.5.RELEASE" conf="runtime->default"/>
<dependency org="org.springframework" name="spring-expression" rev="3.0.5.RELEASE" conf="runtime->default"/>
<dependency org="org.springframework" name="spring-core" rev="3.0.5.RELEASE" conf="runtime->default"/>
<dependency org="log4j" name="log4j" rev="1.2.14" conf="runtime->default"/>
<dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.5.6" conf="runtime->default"/>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.5.6" conf="runtime->default"/>
<dependency org="commons-lang" name="commons-lang" rev="2.4" conf="runtime->default"/>
<dependency org="org.slf4j" name="slf4j-api" rev="1.5.6" conf="runtime->default"/>
</dependencies>
</ivy-module>