Tải xuống các trang web cập nhật trình cắm thêm Eclipse để cài đặt ngoại tuyến


77

Trình cắm mà tôi muốn cài đặt cung cấp một trang web cập nhật để cài đặt. Tuy nhiên, cài đặt Eclipse mà tôi muốn cài đặt nó trên một máy không được kết nối với Internet. Có cách nào để tôi truy cập trang web (HTTP, FTP, v.v.) để tải xuống các tệp trong đó để cài đặt ngoại tuyến không?

Câu trả lời:


57

Eclipse cung cấp một cách tự động sao chép các trang web này, thông qua dòng lệnh hoặc thông qua các tác vụ kiến.

Phản chiếu dựa trên thông tin p2

$eclipse_home/eclipse -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source $1 -destination $2
$eclipse_home/eclipse -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source $1 -destination $2

Tham khảo: Phản chiếu kho lưu trữ Equinox p2

Phản chiếu dựa trên thông tin site.xml

java -jar $eclipse_home/plugins/org.eclipse.equinox.launcher_*.jar -application org.eclipse.update.core.standaloneUpdate -command mirror -from $from -to $to

Tham khảo: Chạy trình quản lý cập nhật từ dòng lệnh

Bạn có thể theo dõi sự phát triển của các tập lệnh này trong kho tập lệnh của tôi .


Đối với Kepler sử dụng này
vincentlcy

@vincentlcy - điều đó có phải được tìm thấy trong tiêu đề 'Gương dựa trên thông tin p2' không?
Robert Munteanu

oh xin lỗi không biết nó là điều tương tự. có vẻ như đối với tôi trong Kepler, tôi không thể tìm thấy $ eclipse_home / plugins / org.eclipse.equinox.launcher _ *. jar
vincentlcy

Tôi vẫn có bình khởi chạy trong cài đặt Kepler của mình, nhưng tôi nghĩ đó là tùy chọn. Vì vậy, tôi đã di chuyển phần 'p2' trước, vì nó là phần được hỗ trợ và trông giống hệt như phần bạn đã liên kết. Cảm ơn vì đã đóng góp :-)
Robert Munteanu

bất kỳ cách nào để cũng tải xuống các phụ thuộc? coz i đã cố gắng làm M2E ẩn cài đặt và nó ném một lỗi nói rằng nó không thể tìm thấy bó slf4j
darthbinamira

11

Sau một thời gian vật lộn với việc phản chiếu, tôi nhận ra rằng việc sử dụng "wget" sẽ dễ dàng hơn nhiều (ít nhất là đối với tôi).

Nói ngắn gọn:

  1. Tải xuống trang web:

    wget --recursive --no-parent http://url.of/updatesite

  2. Lấy nội dung của trang web cập nhật đã tải xuống và chuyển nó sang môi trường ngoại tuyến của bạn

  3. Thêm thư mục trang web cập nhật ngoại tuyến của bạn vào danh sách các trang web phần mềm có sẵn thông qua nút "Cục bộ ...".

Bạn có thể đọc về nó với nhiều chi tiết hơn ở đây .


Phương pháp đơn giản nhất. Vấn đề chính của tôi là tìm một url cho Jubula. download.eclipse.org ẩn nội dung đằng sau liên kết "Hiển thị Nội dung Thư mục". Cuối cùng thì tôi cũng đoán được http://download.eclipse.org/jubula/release/mars/.
user3132194

1
Điều này cũng không thành công đối với những thứ được lưu trữ trong S3 hoặc cửa hàng đối tượng khác, vì vậy không cung cấp trang web có thể thu thập thông tin.
Daniel Holmes

Chà, nó chủ yếu hoạt động cách đây 3 năm. Hầu hết các plugin không sử dụng cửa hàng đối tượng vào thời điểm đó ...
Anton

1
wget --recursive --no-parent download.eclipse.org/releases/kepler nhưng nó chỉ tải xuống tệp xml cho nó. Làm cách nào để tôi có thể tải xuống các tệp đầy đủ.
AhmedRana

9

Hầu hết các trình cắm thêm Eclipse có thể được cài đặt mà không cần trình cập nhật Eclipse, bằng cách sao chép các JAR cần thiết có sẵn tại trang cập nhật, vào các thư mục bổ sung và tính năng của cài đặt Eclipse.

Trong một số trường hợp nhất định, cần phải khởi động Eclipse bằng công tắc-làm sạch.

Dưới đây là một ví dụ về cách thực hiện việc này cho plugin m2eclipse:

  1. Trang web cập nhật m2eclipse là http://m2eclipse.sonatype.org/update . Xác định danh sách các JAR cần thiết là bước đầu tiên. Điều này thường được tìm thấy trong tệp site.xml; trong trường hợp này, bạn sẽ tìm thấy nó trong http://m2eclipse.sonatype.org/update/site.xml .
  2. Lọc danh sách JAR được tải xuống phiên bản plugin mà bạn định sử dụng. Điều này có thể được xác định bởi thuộc tính phiên bản cho mỗi "tính năng". Nếu may mắn, bạn sẽ tìm thấy mô tả của JAR trong nút danh mục.
  3. Lưu ý thuộc tính url của mỗi JAR cần được tải xuống. Điều này sẽ bao gồm thư mục con trên máy chủ có sẵn JAR và cả thư mục trong cài đặt Eclipse nơi chúng cần được đặt.

Tái bút: Phương pháp này hơi hack, nhưng nó dựa trên tài liệu tham khảo bản đồ trang web . Nhưng hãy tham khảo bản cập nhật

Cập nhật

Tôi chưa thử điều này, nhưng bạn có thể tạo một trang nhân bản cục bộ, từ đó mọi người khác có thể lấy các trình cắm thêm Eclipse. Trong Galileo, điều này có thể được thực hiện bằng cách chạy trình cập nhật Eclipse ở chế độ độc lập thông qua lệnh mirror .


Đã thử gợi ý đầu tiên của bạn. Đã có thể tìm và tải xuống JAR nhưng chúng dường như không chứa gì. Đã cài đặt chúng trong thư mục "dropins" và khởi động lại nhưng cũng không có gì xảy ra. Sẽ thử gợi ý khác của bạn. BTW, trình cắm mà tôi đang cố cài đặt là Trình kết nối Mẫu Web Chung của Mylyn từ download.eclipse.org/tools/mylyn/update/incubator .
Chry Cheng

Đối với gợi ý đầu tiên, tôi đã thử tải xuống download.eclipse.org/tools/mylyn/update/incubator/features/… . Không có vấn đề gì khi tải xuống.
Vineet Reynolds

Nhìn lại nó, URL cập nhật là download.eclipse.org/tools/mylyn/update/incubator và tệp được đề cập trong site.xml là features / org.eclipse.mylyn.sandbox.ui_feature_3.2.1.v20090722-0200-e3x. lọ. Do đó, URL hiệu quả cho JAR là download.eclipse.org/tools/mylyn/update/incubator/features/…
Vineet Reynolds

1
Nhận các tính năng sẽ không giúp ích gì. Bạn cần các plugin. Tôi khuyên bạn nên thử Trình cập nhật Eclipse để tạo bản sao của trang web. Khi bạn làm như vậy, chỉ cần đóng gói nó trong một tệp zip và sử dụng tệp zip làm trang web cập nhật từ trình quản lý cập nhật.
zvikico

1
Các plugin tương tự vẫn có sẵn từ trang tải xuống Mylyn dưới dạng zip @ eclipse.org/downloads/download.php?file=/tools/mylyn/update/… . Đó sẽ là cách dễ dàng nhất để OP phân phối các plugin cục bộ.
Vineet Reynolds

5

Bạn có thể nhân bản các trang web p2 bằng các tác vụ Ant:

<target name="springide">
    <echo>springide</echo> 
    <p2.mirror verbose="true">
        <repository location="${REPO_HOME}/springide" name="springide" append="true"/>
        <source>
            <repository location="http://springide.org/updatesite" />
        </source>
        <iu id="Core / Spring IDE" version="" />
        <iu id="Extensions / Spring IDE" version="" />
        <iu id="Integrations / Spring IDE" version="" />
        <iu id="Resources / Spring IDE" version="" />
    </p2.mirror>
</target>

hoặc findbugs:

<target name="findbugs">

<echo>findbugs</echo>
    <p2.mirror verbose="true">
        <repository location="${REPO_HOME}/findbugs" name="findbugs" append="true"/>
        <source>
            <repository location="http://findbugs.cs.umd.edu/eclipse/" />
        </source>
        <iu id="edu.umd.cs.findbugs.plugin.eclipse.feature.group" version="" />
    </p2.mirror>
</target>

Để điều này hoạt động, bạn phải chạy các tác vụ kiến ​​trong cùng một JVM như nhật thực.

Bạn có thể tìm IU ID: s bằng cách mở "Cập nhật phần mềm" và sao chép nó từ đó. Trong Eclipse 3.5 nên có nút More ..., trong 3.4 bạn phải nhấp vào nút thuộc tính.


3

Bạn có thể lấy nó từ đây https://repository.sonatype.org/content/repositories/forge-sites/m2e/1.3.0/N/1.3.0.20121023-1108/

Tải xuống tất cả các tệp đi sâu vào các plugin và tính năng. Lưu trữ trong một thư mục trên máy của bạn, giữ mọi thứ trong cùng một cấu trúc thư mục. Di chuyển nó vào một thư mục trên máy phát triển của bạn.

Trong Eclipse, hãy truy cập Trợ giúp | Intall New Software ... Nhấn nút 'Add' Nhấn nút 'Local ...' Duyệt qua thư mục bạn đã thả các tệp vào. Thực hiện theo các hướng dẫn trên màn hình.


3

Các plugin Eclipse thường phụ thuộc vào các plugin khác. Thật khó để theo dõi các phụ thuộc. Tốt hơn là tải xuống tất cả các phần phụ thuộc bằng cách sử dụng trang web cập nhật một lần và bạn có thể phân phối tới các tài liệu đăng tải khác của Eclipse. Đối với Eclipse 3.4 hoặc mới hơn, bạn có thể sử dụng dropins là một tính năng của Eclipse. Bằng cách này, bạn không phải cài đặt plugin từ trang cập nhật mỗi khi bạn phải cài đặt lại Eclipse của mình. Đọc tiếp http://michsan.web.id/content/how-install-eclipse-plugins-offline

Nếu bạn không thể thấy web, tôi sẽ cung cấp cho bạn một số mô tả

Chuẩn bị thư mục cho các plugin bên ngoài

Tạo thư mục đặc biệt để chứa các plugin yêu thích của chúng ta, ví dụ như trong / home / ichsan / eclipse-dropins, chúng ta sẽ cài đặt plugin Maven: m2eclipse.

mkdir /home/ichsan/eclipse-dropins

Hiện tại, chúng tôi sẽ gọi thư mục này là DROPINS

Chuẩn bị hộp cát

Tiếp theo, bằng cách sử dụng Git, chúng ta sẽ tạo một hộp cát Eclipse. Vấn đề là cài đặt một plugin trên Eclipse mới. Thay vì cài đặt Eclipse mới mỗi khi chúng ta muốn cài đặt một plugin mới, chúng ta nên sử dụng Git để tạo nhánh mới của Eclipse mới.

Đầu tiên, giải nén / cài đặt Eclipse mới vào một thư mục, ví dụ / home / ichsan / eclipse-sandbox (để chúng tôi tìm /home/ichsan/eclipse-sandbox/eclipse.ini). Chúng tôi gọi thư mục là ECLIPSE_SANDBOX.

Tiếp theo, xác nhận cài đặt mới. Bước này chỉ nên được thực hiện một lần.

cd $ECLIPSE_SANDBOX
git init
git add .
git commit -am "Fresh Eclipse"

Cài đặt plugin trên hộp cát

Bây giờ là phần thú vị. Giả sử chúng ta phải cài đặt plugin m2eclipse. Chúng tôi sẽ cài đặt cái này trên nhánh Git mới để nhánh chính vẫn sạch hoặc giữ nguyên.

cd $ECLIPSE_SANDBOX
git checkout -b "m2eclipse"

Bây giờ, chúng ta khởi động Eclipse của ECLIPSE_SANDBOX và tải xuống plugin. Sau khi hoàn tất, chúng tôi tắt Eclipse và kiểm tra những thư mục hoặc tệp mới nào đã được tạo (sử dụng Git). Hãy nhớ rằng, chúng tôi chỉ quan tâm đến các plugin và thư mục tính năng mới và nội dung bên trong chúng. Vì vậy, chúng tôi sẽ không sao chép phần còn lại vào dropins.

# Prepare the m2eclipse plugin directories
mkdir -p $DROPINS/m2eclipse/eclipse/plugins
mkdir -p $DROPINS/m2eclipse/eclipse/features

cd $ECLIPSE_SANDBOX
for f in $(git status | sed "s/#\t//g" | grep -P "^plugins" ); do cp -R $f $DROPINS/m2eclipse/eclipse/plugins; done
for f in $(git status | sed "s/#\t//g" | grep -P "^features"); do cp -R $f $DROPINS/m2eclipse/eclipse/features; done

# Make the directory read only
chmod -R -w $DROPINS/m2eclipse

# Commit changes
git add .
git add -u
git commit -am "M2Eclipse plugin installed"


# Back to master branch to make Eclipse clean again and ready for other plugin installations
git checkout master
Installing the plugin

Chỉ cần sao chép thư mục của DROPINS / m2eclipse vào ECLIPSE_HOME / dropins hoặc tạo một liên kết tượng trưng. Và chúng tôi đã hoàn thành!

cd $ECLIPSE_HOME/dropins ln -s $DROPINS/m2eclipse

Một cách khác là sao lưu sự khác biệt giữa cam kết mới của Eclipse và cam kết sau khi cài đặt plugin.

for i in `git diff hashFreshEclipse hashPluginInstall --name-only`;do 
  if [ -f $i ]; then
    tar -r -f m2e-android.tar $i
  fi
done
gzip m2e-android.tar

3

Tôi nhận thấy rằng p2 mirrorApplication không hoạt động tốt trên một số trang web và các tạo tác nhân bản trùng lặp (cả phiên bản pack200 và jar). Công cụ tổng hợp b3 hoạt động tốt hơn nhiều và giúp việc tùy chỉnh trang web cập nhật của tôi dễ dàng hơn nhiều. Xem hướng dẫn tại: https://wiki.eclipse.org/Eclipse_b3/aggregator/manual để biết hướng dẫn và chi tiết cài đặt.

Các bước cơ bản tôi đã sử dụng là:

  • Tệp> Mới> Khác ...> b3> Tổng hợp Kho lưu trữ.
  • Chọn nút Aggregation và đặt Build Root vào thư mục mà bạn muốn repo tổng hợp.
  • Thêm các nền tảng bạn quan tâm bằng cách sử dụng R-nhấp vào nút Tổng hợp > Con mới> Cấu hình.
  • Thêm một Bộ xác thực , thường đặt Nhãn của nó thành chính.
  • Nếu bạn không cần bất kỳ gói bổ sung nào từ kho lưu trữ nhật thực chính (tức là: http://download.eclipse.org/releases/mars ), bạn có thể thêm nó vào Bộ xác thực làm Kho lưu trữ xác thực , nhưng thông thường bạn sẽ cần để thêm nó dưới dạng Kho lưu trữ được Ánh xạ theo Đóng góp để có thể tải xuống các phụ thuộc và / hoặc các tính năng nhật thực bổ sung.
  • Đối với mỗi plugin, hãy thêm Đóng gópNhãn và dưới đó ít nhất một Kho lưu trữ được Ánh xạVị trí .
  • Thêm các nút Danh mục tùy chỉnh vào Tổng hợp nếu bạn muốn; cung cấp cho mỗi người một Mô tả , Số nhận dạngNhãn duy nhất .
  • Mở rộng nút Trình duyệt kho ở dưới cùng> mở rộng url kho > mở rộng Đơn vị có thể cài đặt > Xem các tính năng trong Danh mục (nếu có) và / hoặc trong Tính năng .
  • Nhấp R-click vào các tính năng bạn muốn và Thêm vào Danh mục Tùy chỉnh (nếu bạn đang sử dụng các tính năng đó), nếu không thì Thêm vào kho lưu trữ được ánh xạ gốc dưới dạng> Tính năng được Ánh xạ.
  • Nhấp chuột R vào bất kỳ nút nào> Xây dựng Tổng hợp.

Lưu ý quan trọng: nếu bạn không ánh xạ bất kỳ tính năng nào từ một kho lưu trữ nhất định, toàn bộ kho lưu trữ đó sẽ được sao chép (phiên bản mới nhất của tất cả các gói tôi nghĩ, không thực sự là mọi thứ trong kho lưu trữ).

May mắn thay, tôi không phải gặp rắc rối với Quy tắc loại trừ hoặc Quy tắc cấu hình hợp lệ, có vẻ như làm cho mọi thứ phức tạp hơn. Tuy nhiên, các quy tắc loại trừ có thể cần thiết nếu kho chứa các gói có xung đột phụ thuộc, trong trường hợp đó, một hoặc nhiều gói xung đột cần được loại trừ.

Mặc dù b3 Aggregator thường chỉ tải xuống phiên bản mới nhất của mọi tính năng bạn đã ánh xạ (và đó là các phụ thuộc), nếu bạn liên tục sử dụng Build Aggregator theo thời gian khi các phiên bản mới được phát hành, các phiên bản lỗi thời sẽ tích lũy trong tập hợp của bạn. Bạn có thể sử dụng Clean rồi Build Aggregation nhưng điều này có nghĩa là bạn sẽ phải tải lại mọi thứ. Thay vào đó, chỉ cần thêm một tệp tổng hợp .b3aggr khác, đặt Gốc xây dựng, thêm Cấu hình của bạn và thêm một Đóng góp với Kho lưu trữ được Ánh xạ bằng đường dẫn đến thư mục máy nhân bản cục bộ của bạn final. Không ánh xạ bất kỳ tính năng nào hoặc tạo bất kỳ danh mục nào. Sau đó, Xây dựng tổng hợp và chỉ những phiên bản mới nhất từ ​​máy nhân bản của bạn mới được tổng hợp!


2

Tôi vừa phải đối mặt với vấn đề này và giải quyết nó bằng cách làm theo hướng dẫn từ hướng dẫn này . Tóm lại, hãy chạy các lệnh sau trên thiết bị đầu cuối của bạn trong thư mục Eclipse:

  1. eclipsec.exe -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source $1 -destination $2

  2. eclipsec.exe -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source $1 -destination $2

Nơi $1đề cập đến URL đến kho lưu trữ trực tuyến và $2đề cập đến đường dẫn đến thư mục cục bộ. Ví dụ: tải xuống Vrapper trên Windows Desktop của tôi:

$ 1 = http://vrapper.sourceforge.net/update-site/stable/

$ 2 = C: / Users / foo / Desktop

Chuyển thư mục vào máy mà không cần kết nối Internet. Sau đó, khởi chạy Eclipse -> Trợ giúp> Cài đặt phần mềm mới. Chỉ định kho lưu trữ cục bộ (tức là thư mục mà bạn vừa chuyển) để cài đặt. Cần làm việc.


Giống như câu trả lời hiện có trong cùng một câu hỏi: stackoverflow.com/a/1907322 . Thay vào đó, hãy tán thành câu trả lời hiện có và thêm nhận xét cho những đóng góp nhỏ.
Chry Cheng 19/02/19

Tôi không hiểu câu trả lời hiện có khi tôi lần đầu tiên đọc nó, đó là lý do tại sao tôi tìm kiếm thêm thông tin và đăng câu trả lời của mình ở đây. OP của stackoverflow.com/questions/38571201/… cũng nghĩ rằng câu trả lời "có vẻ lỗi thời". Nhưng có, tôi đồng ý rằng tôi nên đăng một bình luận thay thế, cảm ơn!
Zhiyuan-Amos

1
Câu trả lời này cung cấp hướng dẫn rõ ràng hơn nhiều so với câu trả lời được chấp nhận và là câu tôi đã sử dụng. Cảm ơn vì đã cung cấp nó.
John Jesus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.