2011-10-24 2 views
0

나는 최근에 시간 캡슐을 백업하는 과정에서 새 컴퓨터를 구입하여 이클립스를 다시 설치하고 프로젝트를 다시로드했습니다. Eclipse는 일반적인 "가져 오기 Foo를 다시 볼 수 없습니다"오류가 발생했습니다. 내 /WEB-INF 폴더를 classpath에 추가하고 새로 고침하고 청소 등을하지 않아도됩니다. 나는 프로젝트를 삭제하기로 결정했다. (디스크의 프로젝트 내용 삭제라는 체크 박스를 클릭하지 않았다.) 내 서버의 소스 (공유 컴퓨터)를 사용하여 프로젝트를 다시 설정합니다. 여전히 기쁨이 없으면 내 수업 폴더 안을 들여다 보았습니다.Eclipse에서 내 Java 및 클래스 파일을 삭제 했습니까?

그래서 내 클래스 폴더가 비어 있다는 것을 알기 위해 서버를 돌 봤는데, 자바 나 클래스 파일을 찾기 위해 쓰레기통에 갔다. 내 맥과 내 맥북을 찾아서 클래스 나 자바를 찾지 못했다. 파일. 컴파일 된 클래스는 여전히 작동하지만 다음 재시작시 사라질 까봐 두렵습니다. 클래스 소스 코드를 다시 얻는 방법에 대한 단서가 있습니까? 1 년 넘게 일합니다. 나는이 컴퓨터에서만 버전 제어를했지만.

+2

이것은 실제로 Java 또는 개발 관련이 아니라 Apple 제품과 관련된 문제입니다. –

+0

나는 그것이 WAR와 비슷한 "Dynamic Web Project"라는 것을 모았습니다. 소스가 공유 컴퓨터의 서버에서 사용 가능하다고 말했기 때문에 나는 소스 코드 손실 문제를 이해하지 못합니다. 얼마나 정확하게 프로젝트를 가져 왔습니까? 공유 디스크를 네트워크 디스크로 사용하거나 로컬 디스크의 파일 시스템에서 직접 복사 할 수 있습니까? Java 코드 가져 오기가 정확히 해석 할 수없는 것은 무엇입니까? 그들은'javax.servlet' 패키지가되어서 좋아하니? "Eclipse for Java"뿐만 아니라 "Eclipse for Java EE"를 가지고 있고 프로젝트를 가져 오기 전에 올바른 서버를 설정 했습니까? – BalusC

+0

craaazy. 이클립스에서 프로젝트를 삭제하기 전에 프로젝트가 모든 소스 코드에 있는지 확인하고 있습니까? – MarianP

답변

1

많은 사람들이 매일 이클립스를 사용하고 있으며, 정기적으로 이런 일이 발생하면 문제가 꽤 크게보고 될 것으로 기대합니다. 문제는 프로세스에 있습니다. (eclipse는 소스 디렉토리를 삭제합니다. 프로젝트를 삭제하고 "소스 삭제"옵션을 선택하여 확인하십시오.)

버전 관리의 장점에 대해 배울 수있는 모든 프로그래머의 삶이 있습니다. 단일 사용자 프로젝트의 경우에도 SVN 또는 GIT를 수용하십시오. 이것은 어느 시점에서 우리 모두에게 비용이 들었습니다. 그리고 나서 버전 제어를 사용하는 것은 20 초마다 ctrl-s를 누르는 것만 큼 자연스러워집니다.

현재 상황에 대해서는 돌아가서 타임 캡슐 백업을 분석하고 작동하는 최근 백업을 찾은 다음 다시 복원 한 다음 버전 컨트롤에 고정하십시오. 이전에 버전 제어를 설정하지 않았다면 SVN은 훌륭하고 구성하기 쉽습니다.

TimeCapsule은 훌륭하지만 좋은 vc 시스템을 대체 할 수는 없습니다.

+0

감사합니다 빌 K, 네가 옳다는 것을 안다. 나는 앉아서 업데이트 할 수있는 이전 버전의 소스 코드를 가지고 있지만 지금 당장 마음에 들었습니다! 소스 컨트롤은 내가 '나는 그것을 올바르게 사용하는 방법을 이해할 수 있도록 곧 읽을 것'이라고 생각했던 것들 중 하나였습니다. - 나는 그 시간이 지금이라고 생각합니다 : ( –

+0

아,하지만 모두 잃어 버리지는 않습니다! 마지막 백업 이후에 변경 한 내용을 다시 쓰는 것이 처음보다 빠르며 코드도 더 좋아질 것입니다 .-) – KarlP

+0

감사합니다. KarlP, thats true - 모든 코드는 항상 코드를 개선 한 후 ' 그것으로 돌아 가라. 나는 그것을 필요로했다 :) –

2

.class 파일을 별도의 폴더에 복사하는 것으로 시작하므로 잃지 않을 것입니다.

타임 캡슐 등을 사용하여 백업을 찾으십시오.

그 밖의 모든 것이 실패하면 도구를 사용하여 .class-files를 디 컴파일하십시오.

How do I "decompile" Java class files?

나는 당신이 더 행복하게 그것을 알고하지 않습니다,하지만 당신은 마술과 함께 또는 백업 및 버전 제어없이 중요한 일의 소스 코드 ...를 푼다 첫 번째 아니다 ...

+0

나는이 아이디어를 좋아한다. 역사에서 복원을 찾지 못했다면 (리팩터링 ... 역사와는 대조적으로) 시도했을 것입니다. – darKoram

0

Eclipse에 두 번째 src 파일을 프로젝트에 추가했습니다. jni 폴더를 추가하고 src 디렉토리에서 한 파일의 이름 바꾸기 리팩터링을 수행했습니다. 그래서 나는 그들 위에 빨간 x가있는 두개의 src 폴더를 가지고있다. 내가 그 중 하나를 삭제하고 디스크에서 삭제하고 싶은지 묻는 대화 상자가 표시되지 않습니다. 그러나 Eclipse는 그렇게했습니다. 두 개의 src 폴더가 모두 사라졌습니다. 내 쓰레기통에 있지 않아. 나는 원래의 게시에 동의한다. 비록 내가 이클립스 2 개월 동안 사용하고 있지만이 첫 번째 파일 시스템 오류가 발생했습니다, 거기 확실히 버그가 발생했습니다. 그것은 일식 삭제 된 파일을 휴지통이나 복구 도구를 제공하면 좋을 것입니다. 역사는 회복 할 수있는 선택권이 없었습니다.

+0

음, Refactor-> History가 막 다른 길일지라도 http://www.nodans.com/index.cfm/2008/1/18/How-to-recover-a-deleted-file-in- 이클립스를 클릭하여 프로젝트를 열고 "History from Restore"를 선택하면 실제로 작동 했는가? 그러나, 나는 두 개의 src 폴더로 끝난다. http://www.sunfarmkitchens.ca/?q=webfm_send/78. 흥미롭게도 그들은 하나의 패키지에 A.B.C라는 패키지가 있고 다른 패키지에는 중첩 된 파일 A/B/C가 있다는 점을 제외하면 중복입니다. 같은 내용. .metadata의 어떤 부분이 엉망이 됐습니까? – darKoram

-1

예, 중요한 문제가 광범위하게 발생해야하며 자주보고해야합니다. 그러나 나는 희소 한 문제가다는 것을 믿는 이유가있다. 이클립스 작업 공간에 프로젝트 소스 코드를 보관하지는 않지만 공통 폴더 구조를 사용하여 SVN 저장소를 미러링합니다. 다른 날에는 5 개 프로젝트 (약 25 개 중)에서 일식 작업 공간을 열고 maven 빌드를 수행했습니다.모든 것이 성공적이었고 일식이 좋게 보였다. 다른 곳에서 테스트 한 후, 나는 약 30 분 후에 다시 일식으로 돌아 왔고 프로젝트 탐색기 전체에 빨간색 문제 표시기를 보았습니다. 프로젝트를 탐색 할 때 모든 원본 폴더와 파일이 사라진 것을 발견했습니다. 프로젝트 폴더와 컴파일 된 클래스 폴더 만 남아있었습니다. 이것은 내 작업 공간이 연결된 모든 프로젝트에 적용됩니다. 이론적으로 ANT만이 알고있는 빌드 영역이 있었기 때문에 나머지 20 개의 프로젝트는 완전히 삭제되었습니다. 삭제 패턴은 실수로 버튼을 클릭하거나 드래그하여 너무 미묘한 것입니다.

+0

구조체를 미러링하고 별도의 위치에 코드를 유지하는 것이 좋습니다.하지만 OP의 질문에 대한 대답은 확실하지 않습니다. "다른 사람이 내 수업 소스 코드를 다시 얻는 방법을 알고 있습니다." –

관련 문제