2015-10-13 54 views
0

我試圖設置Tycho,因此我可以在Eclipse-Plugin項目中使用我的Maven依賴項。在我發現的所有文檔和在線教程中,您都必須在某個時刻將eclipse p2存儲庫添加到您的maven pom.xml中(否則構建將失敗)。Tycho無法連接到Eclipse p2存儲庫

所以,我包括在我父pom.xml的配置如下:

<repositories> 
    <repository> 
     <id>eclipse-luna</id> 
     <layout>p2</layout> 
     <url>http://download.eclipse.org/releases/luna</url> 
    </repository> 
</repositories> 

然而,構建仍然失敗:

[INFO] Scanning for projects... 
[WARNING] No explicit target runtime environment configuration. Build is platform dependent. 
[INFO] Computing target platform for MavenProject: Plugin123:Plugin123:0.0.1-SNAPSHOT @ C:\workspaces\Plugin\pom.xml 
[INFO] Adding repository http://download.eclipse.org/releases/luna 
[ERROR] Internal error: java.lang.RuntimeException: Failed to load p2 repository with ID 'eclipse-luna' from location http://download.eclipse.org/releases/luna/: Unable to connect to repository http://download.eclipse.org/releases/luna/content.xml: Connection timed out: connect -> [Help 1] 
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Failed to load p2 repository with ID 'eclipse-luna' from location http://download.eclipse.org/releases/luna/ 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:165) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) 
Caused by: java.lang.RuntimeException: Failed to load p2 repository with ID 'eclipse-luna' from location http://download.eclipse.org/releases/luna/ 
    at org.eclipse.tycho.p2.target.TargetPlatformFactoryImpl.loadMetadataRepository(TargetPlatformFactoryImpl.java:302) 
    at org.eclipse.tycho.p2.target.TargetPlatformFactoryImpl.gatherExternalInstallableUnits(TargetPlatformFactoryImpl.java:270) 
    at org.eclipse.tycho.p2.target.TargetPlatformFactoryImpl.createTargetPlatform(TargetPlatformFactoryImpl.java:176) 
    at org.eclipse.tycho.p2.target.TargetPlatformFactoryImpl.createTargetPlatform(TargetPlatformFactoryImpl.java:128) 
    at org.eclipse.tycho.p2.target.TargetPlatformFactoryImpl.createTargetPlatform(TargetPlatformFactoryImpl.java:1) 
    at org.eclipse.tycho.p2.manager.ReactorRepositoryManagerImpl.computePreliminaryTargetPlatform(ReactorRepositoryManagerImpl.java:84) 
    at org.eclipse.tycho.p2.resolver.P2DependencyResolver.computePreliminaryTargetPlatform(P2DependencyResolver.java:223) 
    at org.eclipse.tycho.core.resolver.DefaultTychoResolver.resolveProject(DefaultTychoResolver.java:109) 
    at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:95) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) 
    ... 11 more 
Caused by: org.eclipse.equinox.p2.core.ProvisionException: Unable to connect to repository http://download.eclipse.org/releases/luna/content.xml 
    at org.eclipse.equinox.internal.p2.repository.CacheManager.createCache(CacheManager.java:243) 
    at org.eclipse.tycho.p2.remote.RemoteRepositoryCacheManager.createCache(RemoteRepositoryCacheManager.java:66) 
    at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.getLocalFile(SimpleMetadataRepositoryFactory.java:66) 
    at org.eclipse.equinox.internal.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:88) 
    at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.factoryLoad(MetadataRepositoryManager.java:57) 
    at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:768) 
    at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:668) 
    at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96) 
    at org.eclipse.tycho.p2.remote.RemoteMetadataRepositoryManager.loadRepository(RemoteMetadataRepositoryManager.java:61) 
    at org.eclipse.tycho.p2.remote.RemoteMetadataRepositoryManager.loadRepository(RemoteMetadataRepositoryManager.java:53) 
    at org.eclipse.tycho.p2.target.TargetPlatformFactoryImpl.loadMetadataRepository(TargetPlatformFactoryImpl.java:298) 
    ... 21 more 
Caused by: java.net.ConnectException: Connection timed out: connect 
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:589) 
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117) 
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177) 
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304) 
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611) 
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446) 
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863) 
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) 
    at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:259) 
    at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) 

所有我能找到,而googeling是與-Djava啓動Eclipse .net.preferIPv4Stack = true這並沒有解決我的問題。出於某種原因,我甚至無法使用我的網絡瀏覽器訪問http://download.eclipse.org/releases/luna/content.xml。我也試圖找到存儲庫的鏡像,但我只是找到了關於如何創建自己的mirros的教程(這也不適用於我)。

現在有人在這裏怎麼回事?

+1

您是否在HTTP代理之後? – jsievers

+0

是的,我。我編輯了Eclipse網絡設置以使用代理... – Geend

回答

3

問題似乎是您的代理配置不正確。 Tycho使用爲Maven配置的代理配置。查看Maven documentation瞭解如何爲Maven構建配置代理。

Tycho不能使用Eclipse配置,因爲它是獨立於Eclipse工作區運行的命令行構建工具。

+0

就是這樣。非常感謝。當我想到現在,這是完全有道理的... – Geend

+0

我想它是代理問題,但我試圖通過命令行'http_proxy = mvn乾淨驗證'代理,但它似乎maven不是尊重它。當我把它放在maven settings.xml時,上面的問題就解決了。希望這可以幫助某人。 –

相關問題