ivy.xml
中的以下内容:
<dependency org="com.amazonaws" name="aws-java-sdk" rev="1.4.5">
<artifact name="aws-java-sdk" ext="jar"/>
</dependency>
下载aws-java-sdk-1.4.5.jar
,这是AWS SDK,即类。
这很好,但我也想得到Javadoc和消息来源。
根据Ivy: Fetching Javadocs and Sources的建议,我在ivy.xml
<configurations>
<conf name="default" />
<conf name="compile" visibility="public"/>
<conf name="sources" visibility="public"/>
<conf name="javadoc" visibility="public"/>
</configurations>
<dependency org="com.amazonaws" name="aws-java-sdk"
rev="1.4.5" transitive="true"
conf="javadoc->javadoc;sources->sources;compile->default"/>
仅下载aws-java-sdk-1.4.5.jar
,它是 Javadoc (没有类或源文件)。
更新:来自可能有用的文件的摘录
<project name="aws-project" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="build" depends="clean,configure-ivy-settings,artifactory-retrieve">
<project name="artifactory-bootstrap" xmlns:ac="http://ant-contrib.sourceforge.net" xmlns:ivy="antlib:org.apache.ivy.ant" default="configure-ivy-settings">
<target name="configure-ivy-settings" unless="skip.artifact.retrieve">
<echoproperties prefix="ivy" />
<!-- Change this to point to the branch in artifactory -->
<property name="artifactory.branch" value="20.0" />
<!-- Change this to the SRCROOT of your build -->
<property name="build.srcroot" value="${bootstrap.basedir}" />
<!-- Configure IVY Settings -->
<ivy:settings url="https://artifactory.mycompany.com/artifactory/simple/bootstrap/${artifactory.branch}/ivysetting-artifactory.xml" id="artifactory.ivy.settings" host="artifactory.mycompany.com" realm="Artifactory Realm" username="${artifactory.user}" passwd="${artifactory.password}" />
</target>
<target name="artifactory-retrieve" unless="skip.artifact.retrieve">
<property name="download.dir" value="${bootstrap.basedir}/extlib" />
<delete dir="${download.dir}" />
<mkdir dir="${download.dir}" />
<ivy:resolve settingsRef="artifactory.ivy.settings" file="${ivy.file}" />
<ivy:cachefileset settingsRef="artifactory.ivy.settings" setid="latest.downloads" />
<echo message="Artifacts are available at : ${download.dir}" />
<copy flatten="true" todir="${download.dir}">
<fileset refid="latest.downloads" />
</copy>
<fileset id="ivy.fileset" dir="${download.dir}">
<include name="*.jar" />
</fileset>
<property name="ivy.downloads.fileset" refid="ivy.fileset" />
<!-- Construct classpath to downloads //-->
<path id="ivy.classpath">
<fileset dir="${download.dir}">
<include name="*.jar" />
</fileset>
</path>
<property name="ivy.downloads.classpath" refid="ivy.classpath" />
<echo message="ivy.downloads.classpath=${ivy.downloads.classpath}"/>
<echo message="Artifacts are available at : ${download.dir}" />
<echo message="They can be referenced using fileset refid ivy.downloads.fileset or ivy.downloads.classpath" />
</target>
答案 0 :(得分:4)
├── build
│ └── lib
│ ├── compile
│ │ ├── aws-java-sdk-1.4.5.jar
│ │ ├── commons-codec-1.3.jar
│ │ ├── commons-logging-1.1.1.jar
│ │ ├── httpclient-4.1.jar
│ │ ├── httpcore-4.1.jar
│ │ ├── jackson-core-asl-1.8.9.jar
│ │ └── jackson-mapper-asl-1.8.9.jar
│ ├── javadoc
│ │ └── aws-java-sdk-1.4.5-javadoc.jar
│ └── sources
│ └── aws-java-sdk-1.4.5-sources.jar
├── build.xml
└── ivy.xml
<project name="demo" default="build" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="build" description="Compile code">
<ivy:retrieve pattern="build/lib/[conf]/[artifact]-[revision](-[classifier]).[ext]"/>
</target>
<target name="clean" description="Additionally purge ivy cache">
<delete dir="build"/>
<ivy:cleancache/>
</target>
</project>
注意:
<ivy-module version="2.0">
<info organisation="com.myspotontheweb" module="demo"/>
<configurations>
<conf name="compile" description="Required to compile application"/>
<conf name="sources" description="Source code"/>
<conf name="javadoc" description="Javadocs"/>
</configurations>
<dependencies>
<dependency org="com.amazonaws" name="aws-java-sdk" rev="1.4.5" conf="compile->default;sources;javadoc"/>
</dependencies>
</ivy-module>
注意:
此次替代目录布局:
├── build
│ ├── doc
│ │ └── aws-java-sdk-1.4.5-javadoc.jar
│ ├── lib
│ │ ├── aws-java-sdk-1.4.5.jar
│ │ ├── commons-codec-1.3.jar
│ │ ├── commons-logging-1.1.1.jar
│ │ ├── httpclient-4.1.jar
│ │ ├── httpcore-4.1.jar
│ │ ├── jackson-core-asl-1.8.9.jar
│ │ └── jackson-mapper-asl-1.8.9.jar
│ └── src
│ └── aws-java-sdk-1.4.5-sources.jar
├── build.xml
└── ivy.xml
<project name="demo" default="build" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="build" description="Compile code">
<ivy:retrieve pattern="build/lib/[artifact]-[revision].[ext]" conf="compile"/>
<ivy:retrieve pattern="build/src/[artifact]-[revision](-[classifier]).[ext]" conf="sources"/>
<ivy:retrieve pattern="build/doc/[artifact]-[revision](-[classifier]).[ext]" conf="javadoc"/>
</target>
<target name="clean" description="Additionally purge ivy cache">
<delete dir="build"/>
<ivy:cleancache/>
</target>
</project>
注意: