Proxy-Einstellungen mit Efeu
Ich habe ein Problem wo ich habe definiert Abhängigkeiten in ivy.xml auf unseren internen corporate-svn. Ich bin in der Lage, Zugriff auf das svn Website, ohne die proxy-task in ant. Während meiner Abhängigkeiten, die sich auf ibiblio, das ist etwas, was außerhalb unserer corporate, und muss die proxy-inorder, um etwas herunterladen. Ich bin vor problem mit Efeu hier.
Habe ich folgende in build.xml
<target name="proxy">
<property name="proxy.host" value="xyz.proxy.net"/>
<property name="proxy.port" value="8443"/>
<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/>
</target>
<!-- resolve the dependencies of stratus -->
<target name="resolveTestDependency" depends="testResolve, proxy" description="retrieve test dependencies with ivy">
<ivy:settings file="stratus-ivysettings.xml" />
<ivy:retrieve conf="test" pattern="${jars}/[artifact]-[revision].[ext]"/><!--pattern here specifies where do you want to download lib to?-->
</target>
<target name=" testResolve ">
<ivy:settings file="stratus-ivysettings.xml" />
<ivy:resolve conf="test" file="stratus-ivy.xml"/>
</target>
Folgenden ist der Auszug aus stratus-ivysettings.xml
<resolvers>
<!-- here you define your file in private machine not on the repo (e.g. jPricer.jar or edgApi.jar)-->
<!-- This we will use a url nd not local file system.. -->
<url name="privateFS">
<ivy pattern="http://xyz.svn.com/ivyRepository/[organisation]/ivy/ivy.xml"/>
</url>
.
.
.
<url name="public" m2compatible="true">
<artifact pattern="http://www.ibiblio.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</url>
.
.
.
So wie gesehen werden kann, hier für immer ivy.xml ich brauche keine proxy als sein innerhalb des eigenen Netzwerks, die kippe greift, wenn ich einen proxy. Aber auf der anderen Seite bin ich mit ibiblio als auch die externe zu unserem Netzwerk und arbeitet nur mit proxy. Also oben build.xml wird nicht funktionieren, in diesem Fall. Kann jemand hier helfen.
Brauche ich nicht-proxy, während sich ivy.xml (als wenn ich proxy, ivy werden nicht in der Lage zu finden, die ivy-Datei hinter proxy im Netzwerk), und ich brauche es, wenn mein resolver geht um öffentliche url.
InformationsquelleAutor der Frage SMA | 2010-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bei der Verwendung
setproxy
verwenden Sie dienonproxyhosts
- Attribut zur Angabe des hosts, für den der proxy nicht verwendet werden sollte, für (pipe getrennt). e.g ändern Sie diesetproxy
Aufgabe in Ihrem Beispiel zuWeitere details siehe http://ant.apache.org/manual/Tasks/setproxy.html
InformationsquelleAutor der Antwort Tom Howard
ANT proxy-Einstellungen
Soweit ich weiß, proxy-Einstellungen können nicht festgelegt werden, innerhalb der ANT-Datei. Die Dokumentation Staaten, müssen Sie die folgende Umgebungsvariable festlegen
Diese sind die system-Eigenschaften (im Gegensatz zu einer normalen ANT-Eigenschaft).
Update:
Ich stehe korrigiert. Ich sehe, du bist mit dem setproxy Methode der Einstellung für den proxy. Ich habe es nie benutzt. Einstellung der system-Parameter, hat bei mir immer funktioniert und hatte den Vorteil, dass außerhalb der build-Datei (zum Beispiel, wenn ich von Arbeit Zuhause bin ohne Proxys).
Konfigurieren "kein proxy" Optionen
Ich weiß nicht, wie man ausschließen lokalen hosts mit dem ANT-proxy-Mechanismus. Alles was ich vorschlagen kann, ist versuchen, konfigurieren Sie die JRE direkt
http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/proxie_config.html
Maven resolver
Für maven central Abhängigkeiten, die Sie, benötigen einen resolver, der wie folgt aussieht
Diese werden automatisch zu der Maven central URL "http://repo1.maven.org/maven2".
Nach der doco dieser resolver wird die Nutzung des Moduls POMs in Maven zu bestimmen vorübergehende Abhängigkeiten.
Schließlich ein Wort der Warnung. Es sei denn, Sie sind mit einem Module Abschnitt in Ihrem ivysettings-Datei, stellen Sie sicher, dass Ihre Resolver deklariert sind, in einer Kette resolver so, dass ivy suchen beide repositories für jedes Modul
InformationsquelleAutor der Antwort Mark O'Connor