Eclipse JPA 프로젝트 변경 이벤트 핸들러 (대기 중)


136

프로젝트를 빌드하려고 할 때마다 왜 'JPA 프로젝트 변경 이벤트 핸들러 (대기 중)'가 표시됩니까?

내 작업 공간에 JPA 프로젝트가 있으며 프로젝트를 빌드하는 데 많은 시간이 걸립니다. 또한 6GB의 힙 공간이 일식에 할당되어 GC 초과 제한으로 이어집니다.

나는 현재 케플러를 사용하고 있습니다. 이 문제는 Helios에서 발생하지 않았습니다.

위의 버그에 대한 BugZilla 항목이 있지만 수정 된 것을 볼 수 있습니다. 그러나 4.3.1에서는 사용할 수 없습니까?

위의 문제에 대한 해결책 / 해결 방법이 있습니까?

감사


1
나는 이것을 Luna에서도보고 있습니다.
HDave

1
그것은 화성 2에서도 나에게 일어나고있다
JuanN

2
같은 기계에서 네온에서는 행복하지만 화성에서는 그렇지 않습니다.
Bob Yoplait

1
Neon.2에서 일어나고 심지어 JPA를 사용하지 않습니다.
Ed Randall

2
그것의 존재 2020-03 너무
Vishnudev K

답변:


165

나는 같은 문제를 겪었고 , 적어도 이클립스 3.8 이래로 DALI (Eclipse Java Persistence Tools) 에서 알려진 버그 인 것으로 나타 났습니다. 이는 Java 편집기저장 작업이 매우 느려질 수 있습니다.

이것은 Kepler (20130614-0229)에서 아직 완전히 해결되지 않았기 때문에 일식에 JPT / DALI가 필요하지 않기 때문에 org.eclipse.jpt기능과 플러그인을 수동으로 제거했습니다 .

내가 한 일은 :

1.) 이클립스 종료

2.) 내 이클립스 설치 디렉토리로 이동

cd eclipse

다음 단계를 실행하십시오.

*아니야:

mkdir disabled
mkdir disabled/features disabled/plugins

mv plugins/org.eclipse.jpt.* disabled/plugins
mv features/org.eclipse.jpt.* disabled/features

창문 :

mkdir disabled
mkdir disabled\features 
mkdir disabled\plugins

move plugins\org.eclipse.jpt.* disabled\plugins
for /D /R %D in (features\org.eclipse.jpt.*) do move %D disabled\features

3.) 식을 다시 시작하십시오.

시작 후 처음 사용할 때 eclipse는 content-assist재구성 해야 함을 경고 할 수 있습니다 . 환경 설정 대화 상자에서이를 수행하십시오.

끝난.

DALI / JPT를 제거한 후 일식이 다시 좋아집니다. 더 이상 파일을 저장할 때 UI를 차단하고 몇 초 동안 기다리지 않습니다.


9
참고 사항 : 일식 팀은 아마도 릴리스에 포함 된 선택 불가능한 기능 / 프로젝트의 양에 대한 토론을 열려고 시도해야합니다. 패키지 기능 (예 : JPT)을 비활성화하는 방법에 대해서도 논의해야합니다.
mwhs

2
Eclipse Luna Build 4.4.0이 멈추는 'JPA 프로젝트 변경 이벤트 핸들러'와 동일한 문제. @mwhs 솔루션은 JPA 도구가 필요하지 않은 경우 Luna에서도 작동합니다 (JBoss Hibernate 도구를 대신 설치하십시오. 그러면 Hibernate로 작업하는 경우 훨씬 더 강력합니다)
Stefan Haberl

3
좋은 발견! 불행히도 DALI 버그는 2012-08-29 이후 폐쇄되었지만 2 년 후에도 Luna / STS 3.6.1에서 동일한 문제가 발생했습니다 (Git 저장소가 작업 공간 외부에 있음). 원격 시스템 탐색기 속도 저하를 계속 유지하면서 솔루션을 시도하지 않았으므로 (해제하지 않으려 고하더라도) 결국 Java 용 바닐라 Eclipse (JEE는 아님)를 설치하고 JST 서버 어댑터를 추가했습니다. 확장 m2e-WTP 및 사용하여 AspectJ를 개발 도구 download.eclipse.org/tools/ajdt/44/dev/update을 . 마침내 번개가 왔습니다.
Arjan

11
move features\org.eclipse.jpt.* disabled\featuresWin7 x64 에서 명령 이 작동하지 않는다는 것을 언급 하지 않았으며 수동으로 관리해야했습니다. 나는 이것이 파일 대신 폴더를 포함하기 때문이라고 생각합니다 ... 음, 충분한 Windows 배치 스크립트를 작성한 후에 언어가 실제로 실험적인 Microsoft 팀에 의해 설계되었는지 질문하기 시작할 것입니다. ADHD가 심한 문맹 술 취한 침팬지로 구성되어 있습니다. 또는 NTFS 버전의 Windows에서 명령 프롬프트에 OOTB Unix 지원이 추가되지 않은 이유가 궁금 할 수도 있습니다.
zpangwin

3
놀랍게도이 문제는 여전히 일식 산소 (2017 년 9 월)에서 지속되며 솔루션이 나를 위해 속임수를 사용했습니다.
Michaël Vreux

67

왜 내 네온 이클립스에 여전히이 문제가 있는지 모르겠다. 많은 사람들이 말한 것처럼 화성 버전에서는 수정되지 않는 것 같습니다.

명령 사용이 너무 번거 롭다는 것을 알았습니다. Eclipse Installation Manager를 통해 플러그인을 삭제했습니다.

네온 : [도움말> 설치 정보> 설치된 소프트웨어]

산소 : [환경 설정> 설치 / 업데이트> 설치된 소프트웨어]

"Dali Java Persistence Tools -JPA Support"플러그인을 선택하고 "제거"를 클릭하십시오. 아래 화면은 이미 제거했기 때문에 표시되지 않습니다.

여기에 이미지 설명을 입력하십시오


5
나는 또한 "EclipseLink JPA Support"도 제거했습니다
Venu Madhav

24

Neon에서도 여전히 같은 문제가 있습니다 .2 내 솔루션은 JPA 구성 관리자를 비활성화하는 것입니다.

프로젝트 환경 설정이 아닌 Eclipse 환경 설정을여십시오. Maven-> Java EE 통합으로 이동하여 JPA 구성자를 사용 불가능하게하십시오. 또한 JAX-RS 구성 기 및 JSF 구성기를 비활성화했습니다.

그 시점부터 JPA 프로젝트 변경 이벤트 핸들러는 더 이상 표시되지 않습니다.

변경 사항이 즉시 적용되지 않으면 Eclipse를 다시 시작하십시오.


고마워, Mac의 Photon 4.8.0 에서이 문제가 계속 발생하고 있으며 이것이 나에게 맞는 유일한 제안 솔루션입니다.
otter606

19

JPA 유효성 검사기를 비활성화했습니다 (확인하지 않은 상태).

이제 파일을 저장할 때마다 JPA 프로젝트 변경 이벤트 핸들러에 대한 하나의 태스크 만, JPA Java 변경 이벤트 핸들러에 대해서는 2 또는 3 만 표시됩니다.

그리고 가장 중요한 UI Hang 문제가 해결되었습니다.

내가 설정 한 내용은 다음 스크린 샷을 참조하십시오.

여기에 이미지 설명을 입력하십시오


9
놀랍습니다-JPA 유효성 검사를 선택하지 않았지만 여전히 JPA 변경 이벤트 핸들러가 나타납니다!
Magick

1
이것은 나를 위해 일했습니다. 실제로 모두 비활성화하고 필요한 것만 활성화하는 것이 좋습니다. 예를 들어 '웹 프로젝트'로 작업하지 않는 경우 jsp *, jsf *, html 등이 필요하지 않습니다. 이렇게하면 각 모듈 / 프로젝트의 유효성을 미세 조정할 수있었습니다. 소중한 시간 절약-많이.
RafiAlhamd

14

JPA 기능 / 플러그인을 제거 할 필요없이 프로젝트에 대해 JPA 도구를 사용하지 않도록 설정하는 다른 방법이 있습니다. 나는 테스트 https://github.com/Jasig/uPortal 에 언급 된 느릅 나무 프로젝트 https://bugs.eclipse.org/bugs/show_bug.cgi?id=386171 및 청구 비슷한 문제가 발생하는 :

  1. JPA 패싯이 사용 가능한 프로젝트를 보려면 Eclipse 프로젝트 탐색기보기로 전환하십시오 ( "JPA 컨텐츠"노드가 있어야 함).
  2. "JPA 컨텐츠"노드가있는 관심있는 프로젝트를 선택하고 컨텍스트 메뉴에서 특성을 선택하거나 Alt + Enter를 눌러 프로젝트의 특성 대화 상자를 표시하십시오.
  3. 카테고리가있는 트리에서 "프로젝트 패싯"노드를 선택하십시오.
  4. 프로젝트 패싯 목록에서 JPA 선택란을 지우고 확인을 누르십시오.

위의 전쟁 프로젝트 양식 저장소에 대해 JPA 패싯을 사용 안함으로 설정 한 후 Eclipse 진행보기에 JPA 관련 작업이 표시되지 않습니다.


5
이것은 일부에게는 효과가 있지만 대부분의 사람들에게는 효과가 없습니다. 모든 프로젝트에서 JPA 패싯을 제거했지만 여전히 끊어진 환경을 얻습니다. 그 이유는 Maven이 JPA를 복원하는 것과 관련이있을 수 있지만 이와 같은 논리적 인 단계를 수행 한 후에도 작동하지 않기 때문입니다.
Calabacin

위의 솔루션은 일식 2020-03에서 저에게 효과적이었습니다. 감사합니다 @dgolovin.
Alfaz Jikani

8

부분에 대한 mwhs의 대답에 대한 사소한 수정 ...

. \ features 폴더에는 move 명령이 작동하지 않습니다. 솔직히 Windows가 지연 되었기 때문입니다 (파일에서 'move'와 함께 와일드 카드를 사용할 수 있지만 와일드 카드 + 폴더 ==는 명령을 무시합니다). 어쨌든, 이것은 그의 대답에서 2 단계에 제공된 창스 니펫에 대한 대안으로 작동해야합니다.

배치 파일로 :

@echo off
set eclipse_dir=C:\eclipse_luna

mkdir disabled
mkdir disabled\features 
mkdir disabled\plugins

move plugins\org.eclipse.jpt.* disabled\plugins
for /f %%i in ('dir "%eclipse_dir%\features\org.eclipse.jpt.*" /ad /b') do (
    move "%eclipse_dir%\features\%%i" "%eclipse_dir%\disabled\features\%%i"
)

2

또한 일식 디렉토리를 찾을 수없는 경우. Mac에서 이러한 문제가 있었기 때문에 Eclipse가 OSGi를 사용하고 있음을 기억할 수 있으므로 Target Platform으로 이동하여 위에 설명 된 기능 / 플러그인을 비활성화 할 수 있습니다 : org.eclipse.jpt. * 여기에 이미지 설명을 입력하십시오


0

일식 광자에 대한 해결책은 다음과 같습니다.

  1. ./eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info를여십시오.
  2. org.eclipse.jpt로 시작하는 행을 삭제하십시오 (org.eclipse.jpt.jpa 만 제거 할 수 있음)

0

이 문제는 새로운 Eclipse에서 해결 된 것으로 보입니다. Java Enterprise 제품군에서는 플러그인을 사용할 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.