更新时间:2022-11-29 08:41:49
这是您如何检索与Maven模块相关联的多个工件:
< dependency org =org.neo4j.appname =neo4j-serverrev =1.5-SNAPSHOT>
< artifact name =neo4j-servertype =jar/>
< artifact name =neo4j-servertype =jarm:classifier =static-web/>
< / dependency>
语法是奇怪的,因为Maven使用分类器引用其他工件。
$ b
neo4j快照存储库需要添加到您的 ivysettings.xml 文件中(快照版本不会发布到Maven Central)
< ivysettings>
< settings defaultResolver =chain/>
< resolvers>
< chain name =chain>
< ibiblio name =centralm2compatible =true/>
< ibiblio name =neo4j-snapshotm2compatible =trueroot =http://repo.neo4j.org/content/repositories/snapshots/>
< / chain>
< / resolvers>
< / ivysettings>
< dependency org =org.aspectjname =aspectjrtrev =1.6.11/>
< dependency org =org.aspectjname =aspectjtoolsrev =1.6.11/>
使用快照回报有时候POM被破坏。 Ivy无法处理以下文件:
这样可以防止ivy下载neo4j-server arifacts ....
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] io问题,而解析ivy文件:http:/ /repo.neo4j.org/content/repositories/snapshots/org/neo4j/app/neo4j-server/1.5-SNAPSHOT/neo4j-server-1.5-SNAPSHOT.pom:无法载入文件的父文件:/ home / mark /。 ivy2 /缓存/ org.neo4j.app / Neo4j的服务器/常春藤1.5 SNAPSHOT.xml.original。 parent = org.neo4j.build#parent-pom; 25
[ivy:retrieve]未找到模块:org.neo4j.app#neo4j-server; 1.5-SNAPSHOT
..
[ ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] ::解析依赖关系::
[ivy:retrieve] ::::::::::::::::::::::::::: :::::::::::::::::::::
[ivy:retrieve] :: org.neo4j.app#neo4j-server; 1.5-SNAPSHOT:not found
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
设置文件配置常春藤直接使用 url resolver 。 ibiblio resolver 用于所有其他POM的模块是有效的。
< ivysettings>
< settings defaultResolver =chain/>
< resolvers>
< chain name =chain>
< ibiblio name =centralm2compatible =true/>
< ibiblio name =neo4j-snapshotm2compatible =trueroot =http://repo.neo4j.org/content/repositories/snapshots/>
< / chain>
< url name =neo4j-snapshot-hack>
< artifact pattern =http://repo.neo4j.org/content/repositories/snapshots/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier] 。)[EXT]/>
< / url>
< / resolvers>
< modules>
< module organization =org.neo4j.appname =neo4j-serverresolver =neo4j-snapshot-hack/>
< / modules>
< / ivysettings>
这将意味着旁通POM文件中的传递依赖关系可能会被跳过。如果POM不能正常工作,则无法帮助。
I am trying to depend on Neo4j server jar and Neo4j server jar - static-web.jar in Ivy. I am trying something like
<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">
<info organisation="org.jimwebber" module="neo4j-koans"/>
<dependencies>
<dependency org="org.springframework.data" name="spring-data-neo4j" rev="1.0.0.RELEASE">
<exclude module="jms"/>
<exclude module="jmxtools"/>
<exclude module="jmxri"/>
<exclude org="org.slf4j" name="slf4j-log4j12"/>
</dependency>
<dependency org="org.aspectj" name="aspectjrt" rev="1.6.11.RELEASE"/>
<dependency org="org.aspectj" name="aspectjtools" rev="1.6.11.RELEASE"/>
<dependency org="org.neo4j.app" name="neo4j-server" rev="1.5-SNAPSHOT" m:classifier="static-web"/>
<dependency org="org.neo4j.app" name="neo4j-server" rev="1.5-SNAPSHOT"/>
<dependency org="org.neo4j" name="neo4j-community" rev="1.5-SNAPSHOT"/>
<dependency org="org.neo4j" name="neo4j-shell" rev="1.5-SNAPSHOT"/>
<dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.7.5"/>
<dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.7.5"/>
<dependency org="com.sun.jersey" name="jersey-client" rev="1.3"/>
<dependency org="org.mockito" name="mockito-all" rev="1.8.5"/>
<dependency org="junit" name="junit" rev="4.7"/>
</dependencies>
</ivy-module>
But I never get the "staic-web".jar down, and now error either. Anyone knows how to do this?
Thanks for any hints!
/peter
This is how you retrieve more than one artifact associated with a Maven module:
<dependency org="org.neo4j.app" name="neo4j-server" rev="1.5-SNAPSHOT">
<artifact name="neo4j-server" type="jar" />
<artifact name="neo4j-server" type="jar" m:classifier="static-web"/>
</dependency>
The syntax is odd because of the way Maven references additional artifacts using classifiers.
The neo4j snapshot repository needs to be added into your ivysettings.xml file (snapshot releases are not published to Maven Central)
<ivysettings>
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain">
<ibiblio name="central" m2compatible="true"/>
<ibiblio name="neo4j-snapshot" m2compatible="true" root="http://repo.neo4j.org/content/repositories/snapshots"/>
</chain>
</resolvers>
</ivysettings>
<dependency org="org.aspectj" name="aspectjrt" rev="1.6.11"/>
<dependency org="org.aspectj" name="aspectjtools" rev="1.6.11"/>
The problem with using snapshot repos is sometimes the POMs are broken. Ivy is unable to process the following file:
This prevents ivy from downloading the neo4j-server arifacts....
[ivy:retrieve] :::: WARNINGS
[ivy:retrieve] io problem while parsing ivy file: http://repo.neo4j.org/content/repositories/snapshots/org/neo4j/app/neo4j-server/1.5-SNAPSHOT/neo4j-server-1.5-SNAPSHOT.pom: Impossible to load parent for file:/home/mark/.ivy2/cache/org.neo4j.app/neo4j-server/ivy-1.5-SNAPSHOT.xml.original. Parent=org.neo4j.build#parent-pom;25
[ivy:retrieve] module not found: org.neo4j.app#neo4j-server;1.5-SNAPSHOT
..
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: UNRESOLVED DEPENDENCIES ::
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:retrieve] :: org.neo4j.app#neo4j-server;1.5-SNAPSHOT: not found
[ivy:retrieve] ::::::::::::::::::::::::::::::::::::::::::::::
In the settings file configure ivy to retrieve the artifacts directly using the url resolver. The ibiblio resolver is used for all other modules whose POMs are valid.
<ivysettings>
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain">
<ibiblio name="central" m2compatible="true"/>
<ibiblio name="neo4j-snapshot" m2compatible="true" root="http://repo.neo4j.org/content/repositories/snapshots"/>
</chain>
<url name="neo4j-snapshot-hack">
<artifact pattern="http://repo.neo4j.org/content/repositories/snapshots/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
</url>
</resolvers>
<modules>
<module organisation="org.neo4j.app" name="neo4j-server" resolver="neo4j-snapshot-hack"/>
</modules>
</ivysettings>
This will mean transitive dependencies in the by-passed POM file might be skipped. Can't be helped if the POM is not working properly