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

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


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
14.06.2012, 07:39:44
    #37837232
ivanov-void
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache Ivy - publish
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
14.06.2012, 12:34:10
    #37837664
Nis
Nis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apache Ivy - publish
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
Форумы / Java [игнор отключен] [закрыт для гостей] / Apache Ivy - publish / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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