powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache Ivy - publish
3 сообщений из 3, страница 1 из 1
Apache Ivy - publish
    #37836510
Nis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Nis
Гость
Здравствуйте!

Испытываю Апач Иви. Столкнулся с проблемой, не получается опубликовать библиотеку в локальную репозиторий. Может кто подскажет что я делаю не так.


ivysettings.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<ivysettings>
	<property name="central.repo" value="http://repo1.maven.org/maven2" />
	
	<property name="jboss.repo"
		value="http://repository.jboss.org/maven2" />
	
	<property name="ivy.local.default.root"
		value="${ivy.default.ivy.user.dir}/local/" override="false" />
	
	<property name="ivy.local.default.ivy.pattern"
		value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
		override="false" />
	
	<property name="ivy.local.default.artifact.pattern"
		value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
		override="false" />

	<settings defaultResolver="default" />
	<caches defaultCacheDir="${ivy.default.ivy.user.dir}/tutorial" />


	<resolvers>
		<filesystem name="local">
			<ivy
				pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
			<artifact
				pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" />
		</filesystem>
		<ibiblio name="central" m2compatible="true" usepoms="true"
			root="${central.repo}"
			pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" />
		<ibiblio name="jboss" m2compatible="true" usepoms="true"
			root="${jboss.repo}"
			pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" />
		<chain name="default" returnFirst="true">
			<resolver ref="local" />
			<resolver ref="central" />
			<resolver ref="jboss" />
		</chain>
	</resolvers>
</ivysettings>




ivy.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<ivy-module version="2.0">

	
	<info organisation="myorg" module="hello" />
	 
	
	<publications>
		<artifact name="CommonUtils" type="jar" ext="jar"/>
    </publications>
    
	<dependencies>
		<dependency org="commons-io" name="commons-io" rev="2.1">
			<artifact name="commons-io" ext="jar" />
		</dependency>
		<dependency org="commons-lang" name="commons-lang" rev="2.1">
			<artifact name="commons-lang" ext="jar" />
		</dependency>
		
		 <dependency org="org.slf4j" name="slf4j-api" rev="1.6.4"/>
	</dependencies>
</ivy-module>




Успешно создаётся папка jars в которой находится библиотека CommonUtil.jar. После пытаюсь опубликовать библиотеку, так:

build.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
	<target name="publish-local" description="Publish the built artifacts into the local repository.">	
		<ivy:configure file="${ivysettings.xml}" override="true" />
		<ivy:retrieve />		
		<ivy:publish resolver="local" update="true" overwrite="true" >
			 <artifacts pattern="./jars/[artifact].[ext]" />
		</ivy:publish>	
	</target>




Выдаёт ошибку:
Код: xml
1.
2.
BUILD FAILED
C:\Users\Zanoza\workspace\CommonUtils\build.xml:56: impossible to publish artifacts for myorg#hello;working@Zanoza-TOSH: java.io.IOException: missing artifact myorg#hello;20120613135850!CommonUtils.jar



Понятно что Иви не находит мою библиотеку. Но не знаю как это исправить. Что я делаю не так?
...
Рейтинг: 0 / 0
Apache Ivy - publish
    #37837232
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nis,

Для публикации артефактов в локальный репозиторий ( $HOME/.ivy2/local ) попробуйте этот вариант-

ivi.xml
Код: xml
1.
2.
3.
4.
5.
6.
<ivy-module version="2.0">
    <info organisation="......" module="CommonUtils" />
    <publications>
        <artifact name="CommonUtils" type="jar" ext="jar"/>
    </publications>
</ivy-module>



build.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<project name="CommonUtils" default="publish" xmlns:ivy="antlib:org.apache.ivy.ant">
...
    <target name="publish" depends="clean, ........." description="Publish to local repository">
        <ivy:resolve/>
        <ivy:publish pubrevision="1.0" status="release" resolver="local" overwrite="true" >
            <artifacts pattern="[artifact]-[type].[ext]"/>
        </ivy:publish>
    </target>
...
</project>



Используйте ivysettings.xml для локализации репозитория, если нужен не локальный.
...
Рейтинг: 0 / 0
Apache Ivy - publish
    #37837664
Nis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Nis
Гость
ivanov-void,

Спасибо за совет. Но к сожалению не проходит.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
publish:
[ivy:resolve] :: Apache Ivy 2.3.0-rc1 - 20120416000235 :: http://ant.apache.org/ivy/ ::
[ivy:resolve] :: loading settings :: url = jar:file:/C:/oepe-indigo/plugins/org.apache.ivy.eclipse.ant_2.3.0.cr120120416000235/ivy.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:resolve] :: resolving dependencies :: myorg#CommonUtils;working@Zanoza-TOSH
[ivy:resolve] 	confs: [default]
[ivy:resolve] 	found commons-io#commons-io;2.1 in default
[ivy:resolve] 	found commons-lang#commons-lang;2.1 in default
[ivy:resolve] 	found org.slf4j#slf4j-api;1.6.4 in default
[ivy:resolve] :: resolution report :: resolve 300ms :: artifacts dl 50ms
	---------------------------------------------------------------------
	|                  |            modules            ||   artifacts   |
	|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
	---------------------------------------------------------------------
	|      default     |   3   |   0   |   0   |   0   ||   5   |   0   |
	---------------------------------------------------------------------
[ivy:publish] :: publishing :: myorg#CommonUtils

BUILD FAILED
C:\Users\Zanoza\workspace\CommonUtils\build.xml:62: impossible to publish artifacts for myorg#CommonUtils;working@Zanoza-TOSH: java.io.IOException: missing artifact myorg#CommonUtils;1.0!CommonUtils.jar

Total time: 1 second




Может я библиотеку неправильно создаю? Я тупо упаковываю её в JAR. так:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<project name="CommonUtils" default="publish" xmlns:ivy="antlib:org.apache.ivy.ant">
...
	<target name="compile_and_package" depends="resolve">
		<mkdir dir="${build.dir}" />
		<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id" />
		<jar destfile="${location.jars}/${project.name}.jar" basedir="${build.dir}"/>
	</target>
...
</project>



Может имя библиотеки должно включать в себя имя организации (organisation="myorg")?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache Ivy - publish
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]