我正在尝试在Eclipse(4.3 / Kepler)中安装新软件。虽然我在所有更新/安装网站上都遇到错误,但我只是询问这个主题,因为我知道应该工作。
以上用于更新的网址 http://download.eclipse.org/eclipse/updates/4.3
导致Eclipse错误日志,如本文末尾所述。
有一个防火墙,我已经通过设置-Dhttp.proxyHost =和-Dhttp.proxyPort在其他Java程序中通过了它。设置属性时,以下简单测试程序毫无例外地完成,如果不是,则完成失败:
import java.net.MalformedURLException;
import java.net.URL;
import java.io.IOException;
import java.io.InputStream;
public class TestProxy {
public static void main(String[] args) {
URL url;
try {
url = new URL("http://java.com");
InputStream in = url.openStream();
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
但是,Eclipse并不关心我是否使用了指定,手动,直接或本机。在手动配置时,我是否给它代理主机和端口并不重要。如果我给它一个用户名/密码没关系。它只是不起作用。
更糟糕的是,有人在设计此更新范例时决定让它在Web浏览器中无法验证。因此,它提供了关于URL如何错误或者无法在Web浏览器中完成的神秘消息。嗯,我知道。我只是想验证URL。最好放一个HTML页面,上面写着“是的,你已经到达了正确的页面。”
为了进一步复杂化,Eclipse中的内部Web浏览器可以成功访问防火墙外的页面。
为什么?
... eclipse.buildId = 4.3.0.M20130911-1000 java.version = 1.7.0_21 java.vendor = Oracle Corporation BootLoader常量:OS = win32,ARCH = x86,WS = win32,NL = en_US 框架参数:-product org.eclipse.epp.package.jee.product 命令行参数:-os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product
Error
Fri Jan 31 17:37:23 EST 2014
Provisioning exception
org.eclipse.equinox.p2.core.ProvisionException: No repository found at http://download.eclipse.org/eclipse/updates/4.3.
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:395)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:653)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.doLoad(LoadMetadataRepositoryJob.java:117)
at org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob.runModal(LoadMetadataRepositoryJob.java:102)
at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$2.runModal(PreloadingRepositoryHandler.java:83)
at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:177)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)