Eclipse bị treo khi tải bàn làm việc


95

Nhật thực của tôi dừng tải bàn làm việc. Tôi đã thử bắt đầu bằng ./eclipse --clean

Khi bắt đầu từ bảng điều khiển, nó ném ngoại lệ sau:

java.lang.NullPointerException
    at org.eclipse.core.internal.runtime.Log.isLoggable(Log.java:101)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.safeIsLoggable(ExtendedLogReaderServiceFactory.java:57)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.logPrivileged(ExtendedLogReaderServiceFactory.java:158)
    at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.log(ExtendedLogReaderServiceFactory.java:146)
    at org.eclipse.equinox.log.internal.ExtendedLogServiceFactory.log(ExtendedLogServiceFactory.java:65)
    at org.eclipse.equinox.log.internal.ExtendedLogServiceImpl.log(ExtendedLogServiceImpl.java:87)
    at org.eclipse.equinox.log.internal.LoggerImpl.log(LoggerImpl.java:54)
    at org.eclipse.core.internal.runtime.Log.log(Log.java:60)
    at org.tigris.subversion.clientadapter.javahl.Activator.isAvailable(Activator.java:92)
    at org.tigris.subversion.clientadapter.Activator.getAnyClientAdapter(Activator.java:81)
    at org.tigris.subversion.subclipse.core.SVNClientManager.getAdapter(SVNClientManager.java:145)
    at org.tigris.subversion.subclipse.core.SVNClientManager.getSVNClient(SVNClientManager.java:92)
    at org.tigris.subversion.subclipse.core.SVNProviderPlugin.getSVNClient(SVNProviderPlugin.java:425)
    at org.tigris.subversion.subclipse.core.status.NonRecursiveStatusUpdateStrategy.statusesToUpdate(NonRecursiveStatusUpdateStrategy.java:53)
    at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refreshStatus(StatusCacheManager.java:273)
    at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificationManager.refreshStatus(FileModificationManager.java:179)
    at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificationManager.resourceChanged(FileModificationManager.java:128)
    at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
    at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
    at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:395)
    at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:45)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Nó dừng lại khi tải com.android.ide.eclipse.adt

Có chuyện gì với bàn làm việc của tôi?

Màn hình khởi động Eclipse


1
Có vẻ như --cleankhông làm gì trong khi -clean(dấu gạch nối đơn) dường như thực sự có tác dụng (sử dụng Eclipse Neon trong trường hợp của tôi).
Christopher Schultz

Câu trả lời:


146

DISCLAIMER: THIS WILL DELETE ALL OF YOUR ECLIPSE WORKSPACE SETTINGS AND YOU WILL HAVE TO RE-IMPORT ALL YOUR PROJECTS, THERE ARE LESS DESTRUCTIVE ANSWERS HERE

Hãy thử những cách sau:

  1. Xóa thư mục .metadata trong không gian làm việc cục bộ của bạn (đây là những gì phù hợp với tôi). Có vẻ như nó chứa tệp .LOCK mà nếu không được đóng đúng cách, sẽ ngăn nhật thực khởi động đúng cách. Trên các hệ thống dựa trên Unix, bạn có thể gõ lệnh sau trên dòng lệnh;

    rm -r workspace/.metadata
    
  2. Xóa thư mục .eclipse của bạn trong thư mục chính của bạn. Khởi động nhật thực. Nếu điều đó không hiệu quả,

  3. Mở nhật thực bằng tài khoản người dùng khác. Nếu nó tải, bạn biết vấn đề là với tài khoản của bạn, không phải do cài đặt eclipse của bạn.


nó đã xảy ra với tôi sau khi tôi nhấp vào Tệp-> khởi động lại do nhầm lẫn.
nurnachman

68
Trong hầu hết các trường hợp, rm workspace/.metadata/.lockhoạt động cho tôi. Đảm bảo bắt đầu nhật thực bằng ./eclipse -clean -refreshbất cứ thứ gì bạn thử. Cảm ơn vì đã dạy chúng tôi mv .eclipse .eclipse.old, điều không giúp ích được gì cho ngày hôm nay. Hôm nay nó đã giúp xóa workspace/.metadata/.plugins/. Tất cả các Plugin thực sự đã hoạt động sau đó. Một số cài đặt đã biến mất. Sau đó, bạn có thể sử dụng Import...để nhập tất cả các dự án hiện có của mình cùng một lúc. Xóa workspace/.metadatalà lựa chọn cuối cùng, nhưng hiệu quả. Bạn có thể giữ lại workspace/.metadata/.mylynnếu không muốn mất công.
sulai

Cảm ơn nhiều vì điều này! Đã tiết kiệm cho tôi rất nhiều nỗ lực khi Eclipse ngừng phản hồi đột ngột..Stackoverflow gây khó khăn và cộng đồng cũng vậy!
HungryForKnowledge

3
Chỉ cần xóa tệp .lock - không cần phải mất tất cả các cài đặt của bạn!
slott 12/1213

7
xóa .lock không giúp tôi nhưng xóa .metadata/.plugins/org.eclipse.core.resources/.snapđã làm
serge

92

Quy trình được hiển thị tại http://off-topic.biz/vi/eclipse-hangs-at-startup-showing-only-the-splash-screen/ phù hợp với tôi:

  1. cd .metadata / .plugins
  2. mv org.eclipse.core.resources org.eclipse.core.resources.bak
  3. Bắt đầu nhật thực. (Nó sẽ hiển thị thông báo lỗi hoặc không gian làm việc trống vì không tìm thấy dự án nào.)
  4. Đóng tất cả các tab trình chỉnh sửa đang mở.
  5. Thoát khỏi nhật thực.
  6. rm -rf org.eclipse.core.resources (Xóa thư mục mới tạo.)
  7. mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Khôi phục thư mục gốc.)
  8. Bắt đầu nhật thực và bắt đầu hoạt động. :-)

Trong các câu trả lời khác:

eclipse -clean -clearPersistedState

được đề cập - mà dường như có tác dụng tương tự hoặc thậm chí tốt hơn.

Đây là một tập lệnh dành cho MacOS (sử dụng Macports) và Linux (được thử nghiệm trên Ubuntu với Eclipse Equinox) để bắt đầu bằng việc giết nhật thực đang chạy tùy chọn. Bạn có thể muốn điều chỉnh kịch bản theo nhu cầu của mình. Nếu bạn thêm nền tảng mới, vui lòng chỉnh sửa kịch bản ngay trong câu trả lời này.

#!/bin/bash
# WF 2014-03-14
#
# ceclipse:
#   start Eclipse cleanly
#
#   this script calls eclipse with -clean and -clearPersistedState
#   if an instance of eclipse is already running the user is asked
#   if it should be killed first and if answered yes the process will be killed
#
# usage: ceclipse
#

#
# error
#
#   show an error message and exit
#
#   params:
#     1: l_msg - the message to display
error() {
  local l_msg="$1"
  echo "error: $l_msg" 1>&2
  exit 1 
}

#
# autoinstall
#
#  check that l_prog is available by calling which
#  if not available install from given package depending on Operating system
#
#  params: 
#    1: l_prog: The program that shall be checked
#    2: l_linuxpackage: The apt-package to install from
#    3: l_macospackage: The MacPorts package to install from
#
autoinstall() {
  local l_prog=$1
  local l_linuxpackage=$2
  local l_macospackage=$3
  echo "checking that $l_prog  is installed on os $os ..."
  which $l_prog 
  if [ $? -eq 1 ]
  then
    case $os in 
      # Mac OS
      Darwin) 
        echo "installing $l_prog from MacPorts package $l_macospackage"        
        sudo port install $l_macospackage
      ;;
      # e.g. Ubuntu/Fedora/Debian/Suse
      Linux)
        echo "installing $l_prog from apt-package $l_linuxpackage"        
        sudo apt-get install $l_linuxpackage
      ;;
      # git bash (Windows)
      MINGW32_NT-6.1)
        error "$l_prog ist not installed"
      ;;
      *)
        error "unknown operating system $os" 
    esac
  fi
}

# global operating system variable
os=`uname`

# first set 
#  eclipse_proc - the name of the eclipse process to look for
#  eclipse_app - the name of the eclipse application to start
case $os in 
    # Mac OS
    Darwin) 
      eclipse_proc="Eclipse.app" 
      eclipse_app="/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse"
      ;;
    # e.g. Ubuntu/Fedora/Debian/Suse
    Linux)
      eclipse_proc="/usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar"
      eclipse_app=`which eclipse`
      ;;
    # git bash (Windows)
    MINGW32_NT-6.1)
      eclipse_app=`which eclipse`
      error "$os not implemented yet"
      ;;
    *)
      error "unknown operating system $os" 
esac

# check that pgrep is installed or install it
autoinstall pgrep procps

# check whether eclipse process is running
# first check that we only find one process
echo "looking for $eclipse_proc process"
pgrep -fl "$eclipse_proc"
# can't use -c option on MacOS - use platform independent approach 
#eclipse_count=`pgrep -cfl "$eclipse_proc"`
eclipse_count=`pgrep -fl "$eclipse_proc" | wc -l | tr -d ' '`

# check how many processes matched
case $eclipse_count in
  # no eclipse - do nothing
  0) ;;
  # exactly one - offer to kill it
  1) 
     echo "Eclipse is running - shall i kill and restart it with -clean? y/n?"
       read answer
       case $answer in
         y|Y) ;;
           *) error "aborted ..." ;;
       esac
     echo "killing current $eclipse_proc"
     pkill -f "$eclipse_proc"
     ;;
  # multiple - this is bogus
  *) error "$eclipse_count processes matching $eclipse_proc found - please adapt $0";;
esac

tmp=/tmp/eclipse$$
echo "starting eclipse cleanly ... using $tmp for nohup.out"
mkdir -p $tmp
cd $tmp

# start eclipse with clean options
nohup $eclipse_app -clean -clearPersistedState&

1
cảm ơn! đây là một cách tiếp cận tốt hơn, sau đó chỉ cần xóa toàn bộ thư mục .metadata. nó hoạt động hoàn hảo
Jakob

1
Tốt hơn nhiều. Đã giúp Kepler trên Mac OS X Mavericks
Robert Sösemann

5
"Eclipse -clean -clearPersistedState" này đã giúp tôi, cảm ơn bạn!
Michal

2
-clean -clearPersistedState làm việc cho tôi trong Aptana Studio 3 trên win 7
Lorenz Haase

2
nhật thực -clean -clearPersistedState Làm việc trong Kepler Win 7
Yitzchak

37
./eclipse -clean -refresh

như đã đề cập trong nhận xét của sulai.

Tuy nhiên, trên Mac OS X, tôi phải tìm cách truy cập ./eclipse

Đây là giải pháp:

cd Eclipse.app/Contents/MacOS/

Cảm ơn bình luận của Andrew cho bài đăng này: https://stackoverflow.com/a/1783448/2162226


2
Trước tiên, tôi phải mở một không gian làm việc mới (tôi đã đặt tên là thử nghiệm) bằng cách sử dụng -clean -refresh. Và khi Eclipse (trong trường hợp của tôi là GGTS) ​​được mở, tôi chọn Tệp> Chuyển vùng làm việc và quay lại không gian làm việc ban đầu gây ra sự cố đóng băng.
pm_labs

Trên Eclipse Luna, ứng dụng thực sự chỉ là tệp, không cần cd vào thư mục. Chỉ cần chạy đã ./eclipse -clean -refreshsửa nó cho tôi
Sirens

20

Giải pháp tốt nhất mà tôi tìm thấy là xóa tệp này: workspace / .metadata / .plugins / org.eclipse.e4.workbench / workbench


2
Trong chàm nhật thực. Hãy thử rm workspace / .metadata / .plugins / org.eclipse.ui.workbench /
Gere

1
Đây xoá sổ vấn đề này cho tôi với TIBCO BusinessWorks Design Studio trên Windows 7.
Alex Beynenson

trên MacBook Pro của tôi 12" , giải pháp này làm việc cho tôi là tốt nhất
ironmantis7x

12

không cần xóa toàn bộ siêu dữ liệu. chỉ cần thử xóa tệp .snap trong org.eclipse.core.resources trong thư mục không gian làm việc của bạn, ví dụ:

workspaceFolder.metadata.plugins \ org.eclipse.core.resources


Việc xóa một tệp này đã hoạt động với tôi hầu như bất cứ khi nào Eclipse bị treo khi khởi động. Cảm ơn!
Joseph

xóa tập tin .snap làm việc cho tôi cho Eclipse Mars - 4.5.1 (trên Mac El Capitan)
hashcoder

Đã làm việc cho tôi với JBoss Developer Studio 10
Thomas

11

Tôi đã giải quyết việc xóa * .snap khỏi dir không gian làm việc (và tất cả các thư mục con):

siêu dữ liệu \ .plugins \ *. snap


1
Điều này đã giúp tôi khỏi mất tất cả các cài đặt của mình!
tprk77

8

Câu hỏi khá cũ nhưng câu trả lời đơn giản nhất vẫn chưa được đăng.
Đây là:
1) Trong tệp [workspace]\.metadata\.plugins\org.eclipse.e4.workbench xóa workbench.xmi .
Trong hầu hết các trường hợp, nó là đủ - hãy thử tải Eclipse.
Tuy nhiên, bạn phải định cấu hình lại cài đặt phối cảnh cụ thể của mình (nếu có)

2) Bây giờ gặp vấn đề với việc xây dựng các dự án hoạt động hoàn hảo? Theo kinh nghiệm của tôi, các bước sau sẽ giúp bạn:
- bỏ chọn Dự án-> Tự động xây dựng
- chuyển sang phối cảnh Java (nếu chưa): Cửa sổ -> Phối cảnh mở -> Java
- định vị Chế độ xem vấn đề hoặc mở nó: Cửa sổ -> Hiển thị chế độ xem -> Vấn đề
- nhấp chuột phải vào các nhóm vấn đề và chọn Xóa . Đảm bảo xóa lỗi Lint
- làm sạch không gian làm việc: Dự án -> Làm sạch ... với tùy chọn Xóa tất cả dự án
- kiểm tra Dự án-> Xây dựng tự động
- nếu sự cố vẫn tiếp diễn đối với một số dự án: nhấp chuột phải vào dự án, chọn Thuộc tính -> Androidvà đảm bảo rằng Mục tiêu xây dựng dự án phù hợp được chọn

3) Nó luôn luôn đủ đối với tôi. Nhưng nếu bạn vẫn gặp sự cố - hãy thử @george đăng đề xuất


Cảm ơn bạn! Không có gì khác làm việc nhưng xóa workbench.xmi
Đơn giản chỉ cần Craig

6

Quy trình sau đã hoạt động trên MacOS (Mavericks) và Eclipse Luna 4.4.1 của tôi:

Xóa tệp .snap theo đường dẫn "workspaceFolder" .metadata.plugins \ org.eclipse.core.resources \

Nếu bạn không biết cách điều hướng đến thư mục này trên Mac, hãy nhấn Cmd + Shift + G (Đi tới thư mục) và nhập địa chỉ đầy đủ mà bạn muốn điều hướng.



3

xóa không gian làm việc / .metadata / .lock và bắt đầu nhật thực với -clean -refresh đã làm việc cho tôi.


2

Bạn phải xóa thư mục org.eclipse.e4.workbench bên trong metadata.plugins \ mà bạn có thể tìm thấy trong thư mục không gian làm việc của mình. Xóa thư mục này đã giải quyết được vấn đề cho tôi, hy vọng nó sẽ giúp ích cho người khác!



0

Có nhiều lý do có thể cho loại hành vi này. Ngoài việc chạy từ lời nhắc shell như bạn có, bạn nên tìm manh mối trong tệp nhật ký không gian làm việc của mình, đó là tệp .metadata / .log trong thư mục không gian làm việc của bạn — NPE sắp xuất hiện cho bạn có vẻ như nó có thể phải thực hiện với chính mã ghi nhật ký, nhưng nhật ký vẫn có thể giúp xác định điều gì đang xảy ra trước khi xảy ra lỗi.

Các tìm kiếm trên web cho các thư bạn tìm thấy thường mang lại các gợi ý để xóa các thư mục hoặc tệp khác nhau và bắt đầu lại. Tuy nhiên, đôi khi tôi chỉ có thể xóa các phần của .metadata / .plugins / org.eclipse.ui.workbench / workbench.xml để có các giải pháp ít phá hoại hơn.


0

Vấn đề với việc xóa các tệp trong thư mục .metadata là bạn sẽ phải bắt đầu lại bàn làm việc của mình từ đầu. Vì vậy, có thể mất một lúc để khôi phục tất cả các dự án của bạn, đặc biệt nếu bạn có một số dự án. Khôi phục .metadata từ bản sao lưu chỉ bằng cách thay thế các tệp hiện có bằng các tệp đã sao lưu cũ phù hợp với tôi.


0

Nó cũng có thể hữu ích khi cố gắng tải và lưu không gian làm việc với phiên bản eclipse mới hơn:

Tôi đang sử dụng nhật thực 3.8. Khi khởi động, màn hình giật gân sẽ bị treo. Không có thông báo lỗi nào trong nhật ký. Điều hữu ích là mở không gian làm việc với eclipse 4.2.2. Sau khi mở và đóng không gian làm việc, tôi có thể tải lại nó với 3.8.


0

Sau một số điều tra về ngày tháng của tệp, tôi đã giải quyết được vấn đề tương tự (đó là sự cố lặp lại ngẫu nhiên trên Kepler của tôi) bằng cách chỉ cần xóa tệp sau trong không gian làm việc cục bộ của tôi: .metadata.plugins \ org.eclipse.jdt.core \ variableAndContainers.dat

với tác động không đáng kể đến việc khôi phục không gian làm việc.

Tôi hy vọng nó có thể giúp ai đó khác ...


0

Trong không gian làm việc của bạn, bạn sẽ tìm thấy tên thư mục ẩn .metadata, trong đó bạn sẽ tìm thấy một thư mục ẩn khác ".mylyn", hãy xóa nó và dọn sạch thùng rác của bạn, đi tới trình quản lý tác vụ dừng quá trình của Eclipse và bắt đầu lại Eclipse lần này nó sẽ hoạt động.

Thưởng thức!


0

Đây là một phương pháp ít phá hủy hơn đã hiệu quả với tôi:

Tôi đang sử dụng máy Windows với bản sao của Spring Tool Suite (một phần mở rộng của Eclipse) mà tôi đang chạy từ một thư mục ngẫu nhiên. Trong dòng lệnh của tôi nhanh chóng, tôi đã phải điều hướng đến thư mục mà chứa của tôi STS.exechạy và: STS.exe -refresh.

Sau đó, tôi có thể mở Eclipse của mình theo cách bình thường (thông qua biểu tượng thanh tác vụ được ghim).


0

Nhận bản sao lưu của thư mục .metadata / .plugin / org.eclipse.core.resources, sau đó xóa thư mục đó và khởi chạy eclipse. Điều đó sẽ khởi chạy không gian làm việc, nhưng tất cả các dự án sẽ biến mất vì org.eclipse.core.resources giữ một danh sách tất cả các dự án.

Tiếp theo, đóng eclipse đúng cách và sao chép lại org.eclipse.core.resources từ sao lưu vào thư mục .metadata / .plugins / ghi đè lên thư mục hiện có.

Mở nhật thực và mọi thứ sẽ hoạt động tốt với tất cả các dự án của bạn trở lại bình thường.


0

Eclipse đóng băng khi khởi động - trước khi tải không gian làm việc, câu trả lời rất hay về bài đăng này. lặp lại câu trả lời phù hợp với tôi

Trong thư mục không gian làm việc của bạn, hãy thực hiện các bước sau:

cd .metadata / .plugins

mv org.eclipse.core.resources org.eclipse.core.resources.bak

Bắt đầu nhật thực. (Nó sẽ hiển thị thông báo lỗi hoặc không gian làm việc trống vì không tìm thấy dự án nào.)

Đóng tất cả các tab trình chỉnh sửa đang mở.

Thoát khỏi nhật thực.

rm -rf org.eclipse.core.resources (Xóa thư mục mới tạo.)

mv org.eclipse.core.resources.bak / org.eclipse.core.resources (Khôi phục thư mục gốc.)

Bắt đầu nhật thực và bắt đầu hoạt động. :-)

Câu trả lời của CharlesB


-1

Không có giải pháp nào giúp tôi cho trường hợp của tôi.

Tôi đã tìm thấy giải pháp làm việc mặc dù. Tôi đọc rằng điều này xảy ra khi plugin ADT không được cập nhật đúng cách trong Eclipse.

Solution
From Eclipse. . .
1. Go to Help Tap
2. Click Check for Updates

Cập nhật mọi thứ và whoa! Không còn bị đóng băng khi khởi động Eclipse!


-1

Tôi đã không thử tất cả những thứ này. Tôi đã khởi động lại bằng máy tính xách tay / máy. Và mọi thứ đã trở lại bình thường sau đó.

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.