ฉันจะต้องกำหนดการตั้งค่าพร็อกซีเพื่อให้ Eclipse สามารถดาวน์โหลดปลั๊กอินใหม่ได้อย่างไร


178

ฉันทำงานกับ Eclipse 3.7 บนสภาพแวดล้อม Windows XP ที่อยู่เบื้องหลังเว็บพร็อกซี

ฉันต้องการติดตั้งปลั๊กอิน GroovyบนEclipse Indigo ที่เพิ่งซิปใหม่ ( Eclipse Java EE Indigo M4 ) ฉันเพิ่มไซต์การอัปเดตลงในAvailable Software Siteรายการ

แต่ Eclipse ไม่สามารถดึงข้อมูลของปลั๊กอินนี้และทำให้การติดตั้งเป็นไปไม่ได้ ...

ถ้าฉันใส่Nativeการกำหนดค่าGeneral > Network Connectionsซึ่งไม่มีAuthตัวเลือกที่เลือกฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันพยายามเข้าถึงไซต์การอัปเดต:

HTTP Proxy Authentication Required: http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.7/content.xml
HTTP Proxy Authentication Required: http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.7/content.xml
Proxy Authentication Required

ดังนั้นตอนนี้ฉันเลือกmanualฉันจะกำหนดข้อมูลที่ถูกต้องทั้งหมดสำหรับสามสกีมา (HTTP, HTTPS, SOCKS): พร็อกซี, พอร์ต, รับรองความถูกต้อง, ผู้ใช้และรหัสผ่าน อย่างไรก็ตามเมื่อฉันพยายามเข้าถึงไซต์การอัปเดต Eclipse จะระบุว่าเขาอยู่Fetching children of Groovy Eclipseแต่ให้สถานะนี้อยู่ที่ 0% ...

มีอะไรแปลกคือแม้ว่าฉันใส่รหัสผ่านผิดในการGeneral > Network Connectionsกำหนดค่าฉันไม่ได้รับข้อความแสดงข้อผิดพลาด

คำถามของฉัน:

  • มีอะไรผิดปกติในการกำหนดค่าของฉัน
  • มีวิธีอื่นในการกำหนดค่าพร็อกซีหรือไม่
  • มีวิธีรับข้อมูลเพิ่มเติมหรือไม่เพื่อทราบว่า Eclipse พยายามทำอะไร ( workspace/.metadata/.logไม่มีข้อมูลที่เป็นประโยชน์)

ปัญหาอื่น (เล็กน้อย) คือการปรับเปลี่ยนการตั้งค่าพร็อกซีดูเหมือนว่าจะได้รับการจัดการหลังจากรีสตาร์ท Eclipse


ps1:ใช้เบราว์เซอร์ของฉันฉันสามารถเข้าถึงไซต์อัปเดตดังนั้นจึงไม่ถูกบล็อกโดยพรอกซี

ps2:ปัญหานี้ไม่เกี่ยวข้องกับปลั๊กอินนี้เนื่องจาก Eclipse จะทำงานในลักษณะเดียวกันกับปลั๊กอินอื่น

ps3:นี่คือเนื้อหาของworkspace/.metadata/.logเมื่อฉันเริ่มต้น Eclipse และพยายามติดตั้งปลั๊กอิน (บันทึกเหล่านี้ทั้งหมดจะถูกเขียนในระหว่างการเริ่มต้นไม่มีเมื่อ Eclipse พยายามเข้าถึงเว็บไซต์อัพเดท)

!SESSION 2011-05-02 10:38:58.681 -----------------------------------------------
eclipse.buildId=I20101208-1300
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_FR
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.228
!MESSAGE System property http.proxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.228
!MESSAGE System property http.proxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property https.proxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property https.proxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property https.proxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property https.proxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyPort is not set but should be 8080.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyHost is not set but should be XXX.

!ENTRY org.eclipse.core.net 1 0 2011-05-02 10:39:02.244
!MESSAGE System property socksProxyPort is not set but should be 8080.

!ENTRY org.eclipse.osgi 2 1 2011-05-02 10:39:02.447
!MESSAGE NLS missing message: TaskJobFactory_Refreshing_repository_configuration in: org.eclipse.mylyn.internal.tasks.ui.messages

แก้ไข

ถ้าฉันเพิ่มบรรทัดต่อไปนี้ในeclipse.iniไฟล์ของฉัน( เพราะสิ่งนั้น ) มันใช้งานได้:

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
-Dhttp.proxyPort=8080
-Dhttp.proxyHost=XXX
-Dhttp.proxyUser=XXX
-Dhttp.proxyPassword=XXX
-Dhttp.nonProxyHosts=localhost|127.0.0.1

แต่ทำไม ปัญหานี้ยังคงมีอยู่ใน Eclipse 3.7 หรือไม่


ฉันมีคำถามที่คล้ายกัน: ฉันจะติดตั้งการปรับปรุง eclipse จากพร็อกซีเซิร์ฟเวอร์ (หรือแคช) ใน ubuntu ได้อย่างไร? หรือฉันควรถามสิ่งนี้ในเซิร์ฟเวอร์อูบุนตู? ขอบคุณ
Enrique San Martín

3
ปัญหานี้เกิดขึ้นแม้ใน Eclipse Neon (2017-05-12)! 6 ปีผ่านไปแล้ว: O
Ram

2
@Ram .... และใน Eclipse Oxygen (2017-09-21) !!
gior91

คำตอบ:


330

ผมมีปัญหาเหมือนกัน. ฉันติดตั้ง Eclipse 3.7 ลงในโฟลเดอร์ใหม่และสร้างพื้นที่ทำงานใหม่ ฉันเรียกใช้ Eclipse ด้วยอาร์กิวเมนต์ -data เพื่ออ้างอิงเวิร์กสเปซใหม่

เมื่อฉันพยายามเชื่อมต่อกับตลาดเพื่อรับปลั๊กอิน SVN และ Maven ฉันได้รับปัญหาเดียวกันที่อธิบายไว้ใน OP

หลังจากลองอีกสองสามครั้งฉันจะล้างการตั้งค่าพร็อกซีสำหรับโปรโตคอลSOCKSและฉันสามารถเชื่อมต่อกับตลาดได้

ดังนั้นทางออกสำหรับฉันคือการกำหนดการตั้งค่าด้วยตนเองสำหรับ HTTP และ HTTPS proxy ล้างการตั้งค่าสำหรับ SOCKS และรีสตาร์ท Eclipse


เช่นเดียวกันที่นี่ฉันรายงานข้อผิดพลาดและมันถูกละเว้น โดยทั่วไปแล้วผู้ชายคนนั้นบอกว่ามันใช้งานได้สำหรับฉัน ใน 10 ปีที่ผ่านมาฉันไม่เคยมีการตั้งค่าพร็อกซีทำงานตามที่คาดไว้ ฉันต้องหาการตั้งค่าที่ซ่อนอยู่
Berlin Brown

13
ถึงแม้ว่ามันดูเหมือนว่าค่า SOCKS นั้นว่างเปล่าทั้งหมดมันก็ทำงานหลังจาก (สำหรับการกำหนดค่าด้วยตนเอง) ฉันได้เน้นแถว SOCKS คลิกที่ "ล้าง" แล้วคลิกตกลงจากนั้นรีสตาร์ทคราส หากนี่ไม่ใช่ข้อผิดพลาดฉันไม่รู้ว่ามันคืออะไร
DanM

ขอบคุณมาก. ฉันไม่เคยคิดเลยว่านี่จะเป็นทางออก ฉันอยู่ในไฟร์วอลล์ขององค์กรและพยายามอัปเดตปลั๊กอินสำหรับล้างข้อมูลล้มเหลวตลอดเวลา ดูเหมือนว่าจะแก้ปัญหาได้
Ayusman

3
ฉันมีปัญหานี้ด้วยและลองขั้นตอนข้างต้น แต่มันก็ยังไม่แก้ไข ฉันต้องแก้ไข [ไดเร็กทอรีการติดตั้ง eclipse] /configuration/.settings/org.eclipse.core.net.prefs และรีเซ็ต proxyData / SOCKS / hasAuth = false จากนั้นทำตามขั้นตอนในคำตอบนี้
Delicia Brummitt

ขอบคุณ! สิ่งนี้ใช้ได้กับฉันหลังจากรีบูตเครื่อง Ubuntu ของฉันเท่านั้น ไม่มีการเปลี่ยนแปลงการตั้งค่าที่ฉันทำจะโน้มน้าวให้เป็นอย่างอื่น
เซท

39

Manual + disable SOCKS ไม่ทำงานสำหรับฉัน (ยังพยายามใช้ SOCKS และพร็อกซี บริษัท ของฉันปฏิเสธ),
Native + เปลี่ยนแปลงeclipse.iniทำงานให้ฉัน

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
-Dhttp.proxyHost=myproxy
-Dhttp.proxyPort=8080
-Dhttp.proxyUser=mydomain\myusername
-Dhttp.proxyPassword=mypassword
-Dhttp.nonProxyHosts=localhost|127.0.0.1

การตั้งค่าเหล่านี้ต้องการการรีสตาร์ท IDE (บางครั้งมี-clean -refreshตัวเลือกบรรทัดคำสั่ง)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=281472


Java8, Eclipse Neon3, พร็อกซีเซิร์ฟเวอร์ช้า:

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4
-Dhttp.proxyHost=<proxy>
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=<proxy>
-Dhttps.proxyPort=8080
-DsocksProxyHost=
-DsocksProxyPort=
-Dhttp.proxyUser=<user>
-Dhttp.proxyPassword=<pass>
-Dhttp.nonProxyHosts=localhost|127.0.0.1
-Dorg.eclipse.equinox.p2.transport.ecf.retry=5
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.connectTimeout=15000
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.readTimeout=1000
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.retryAttempts=20
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.closeTimeout=1000
-Dorg.eclipse.ecf.provider.filetransfer.browse.connectTimeout=3000
-Dorg.eclipse.ecf.provider.filetransfer.browse.readTimeout=1000

5
สวัสดีคุณต้องการส่วน "Dorg.eclipse.ecf.provider.filetransfer.excludeContributors" หรือไม่
Daniil Shevelev

ความแตกต่างระหว่างhttpclient4และhttpclientคืออะไร?
m13r

2
ยืนยันการใช้ออกซิเจน 2 และ 3A
DigiLive

ใช้งานได้กับ Eclipse Oxygen เพียงใช้การตั้งค่าเครือข่ายเนทิฟและเพิ่มบรรทัดเหล่านั้นใน eclipse.ini
user3437460

14

มีพารามิเตอร์ eclipse.ini (sts.ini) ที่สามารถช่วย:

-Djava.net.useSystemProxies=true

จำนวนมากของความพยายามที่สูญเสียไปกับการตั้งค่าที่น่ารำคาญนี้ทุกครั้งที่ฉันจะเปลี่ยนสภาพแวดล้อมการทำงาน ... ดูหนึ่งในข้อบกพร่องที่เกี่ยวข้องบนคราส Bugzilla


3
ในกรณีที่มีผลกระทบต่อคนอื่นใช้กับคราสออกซิเจนทำให้เกิดปัญหาสำหรับผมเพราะมันไม่ถูกต้องตรวจสอบตัวแปรuseSystemProxies=true env https_proxyดังนั้นในขณะที่หน้า http ทำงานได้ดีหน้า https จะไม่โหลด โปรดทราบว่าเมื่อคุณตั้งค่านี้การตั้งค่าที่อ่านจากสภาพแวดล้อมจะแทนที่การตั้งค่าพร็อกซี Eclipse
Parisbre56

13

เพียงเพิ่มไปยังเธรดเป็นโซลูชันที่เป็นไปได้ฉันประสบปัญหาคล้ายกันเมื่อพัฒนาบนระบบ Linux ที่อยู่หลังไฟร์วอลล์ของ บริษัท อย่างไรก็ตามการใช้เครื่อง Windows XP ทำให้ Eclipse สามารถเข้าถึงไซต์การอัปเดตต่างๆได้ดีเนื่องจากผู้ให้บริการเชื่อมต่อเครือข่ายทั้งแบบแมนนวลและแบบธรรมดาทำงานได้ดีโดยใช้พร็อกซี บริษัท

หลังจากสะดุดรอบบางครั้งผมมาในการอภิปรายเกี่ยวกับการใช้ NTLMv2 และการดำเนินการที่จะพบได้ที่http://cntlm.sourceforge.net/ สำหรับผู้ที่โพสต์สิ่งนี้ฉันให้เครดิตมากเพราะมันช่วยให้ฉันผ่านปัญหาที่ทำงานบน Linux ในฐานะที่เป็นบันทึกด้านข้างฉันใช้ Eclipse 3.6.2 / Helios ทั้งบน Linux และ Windows distros

ขอให้โชคดีในการหาทางออก!


ฉันได้ลองใช้คำแนะนำอื่น ๆ ทั้งหมด แต่ไม่มีอะไรช่วย การติดตั้ง CNTLM นั้นเป็นการหลอกลวง ฉันใช้ Windows 7, JDK 1.7, Eclipse 4.3.2
slu

@slu ดีใจที่ได้ยินสิ่งนี้เหมาะกับคุณ! ถึงวันนี้สิ่งนี้ยังคงใช้ได้สำหรับฉันแม้ว่าจะย้ายไปยังเวอร์ชันล่าสุดของทั้ง JDK และ Eclipse
Michael

การใช้ cntlm เป็น local proxy ก็ทำงานได้เช่นกัน ฉันต้องปิดการใช้งานถุงเท้าเช่นกัน localhost: พอร์ตจะไม่ทำงานกับ luna eclipse
Bort

12

ในที่สุดก็ทำงานให้ฉัน!

ใน Eclipse, Window> การกำหนดค่าตามความชอบ> ทั่วไป> การเชื่อมต่อเครือข่าย
ตั้งค่าผู้ให้บริการที่ใช้งานอยู่เป็นNative
เพิ่มไปยังeclipse.ini :

-Djava.net.useSystemProxies=true
-Dhttp.proxyPort=8080
-Dhttp.proxyHost=myproxy
-Dhttp.proxyUser=mydomain\myusername
-Dhttp.proxyPassword=mypassword
-Dhttp.nonProxyHosts=localhost|127.0.0.1|192.168.*|10.*
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4

5

ฉันติดตั้ง HandyCache ในลิงค์ติดตั้งบนพร็อกซีทั่วไปของฉัน

ใน IE ตั้งค่าพร็อกซี 127.0.0.1

ใน Eclipse, Window> การกำหนดค่าตามความชอบ> ทั่วไป> การเชื่อมต่อเครือข่ายตั้งค่า Active Provider = Native


0

สำหรับฉันฉันไปที่ \ eclipse \ configuration.settings \ org.eclipse.core.net.prefs ตั้งค่าคุณสมบัติ systemProxiesEnabled เป็น true ด้วยตนเองและรีสตาร์ท eclipse

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.