我正在使用Apache Ant和Ivy将工件发布到Artifactory-Server。我这样做的方法是从ivy.xml生成一个pom-File。但是模块和工件的名称不同。如果我从服务器检索工件,则只下载具有相同名称的工件。
的ivy.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="com.ibm" module="db2_driver" revision="4.19.26"/>
<publications>
<artifact name="db2jcc4_license_cisuz" type="jar" conf="default" ext="jar" />
<artifact name="db2jcc4" type="jar" conf="default" ext="jar" />
<artifact name="db2_driver" type="pom" conf="default" ext="pom" />
</publications>
</ivy-module>
的build.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project name="IVY_TEST" default="ivypom" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
<property file="build.properties" /> <!- defines ${artifact.path} -->
<target name="ivypom" >
<ivy:makepom ivyfile="${artifact.path}/ivy.xml" pomfile="${artifact.path}/db2_driver.pom" >
<mapping conf="*" scope="*" />
</ivy:makepom>
<ivy:publish resolver="main" module="[ivy.module]" revision="4.19.26" organisation="[ivy.organisation]" overwrite="true">
<artifacts pattern="${artifact.path}/[artifact].[ext]" />
</ivy:publish>
</target>
</project>
上传成功......
这就是结果(Artifactory Browser):
- db2_driver
- 4.14.22
- 4.19.26
- db2_driver-4.19.26.pom
- db2jcc4-4.19.26.jar
- db2jcc4_license_cisuz-4.19.26.jar
- ivy-4.19.26.xml
生成pom-File:
<modelVersion>4.0.0</modelVersion>
<groupId>com.ibm</groupId>
<artifactId>db2_driver</artifactId>
<packaging>pom</packaging>
<version>4.19.26</version>
现在我想使用驱动程序。
应用程序所需的ivy.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="de.xxx" module="main_steuerprogramm" revision="1.0.0"/>
<configurations>
<conf name="default" description="Standard Konfiguration" />
</configurations>
<dependencies>
<dependency org="com.ibm" name="db2_driver" rev="4.19.26"/>
</dependencies>
</ivy-module>
但它不起作用。我怎样才能找回罐子?
有三个好的答案......
但在我的情况下,工件的名称与模块名称不同。这就是困难。
请帮忙。