문제

IntelliJ는 오류가 있을 때 빨간색 구불구불한 선으로 알려주기 때문에 항상 컴파일하고 있나요?(자동 완성 기능 외에도) 아니면 일종의 의사 컴파일을 수행하고 있습니까?

합법적인 컴파일을 수행하는 경우 이러한 컴파일된 클래스를 어디에 저장합니까?저는 JRebel이 개별 모듈 대상 폴더 대신 해당 디렉토리를 가리키도록 하고 싶습니다.

도움이 되었습니까?

해결책

Meo의 말이 맞습니다. 맞춤형 언어용 플러그인을 개발할 때 배운 바에 따르면 IntelliJ는 프로젝트를 명시적으로 만들기 전까지는 아무것도 컴파일하지 않습니다.입력하는 동안 해당 어휘 분석기/파서가 잘못된 토큰이나 코드 구성을 감지합니다.그 동안 프로젝트의 모든 클래스와 메소드 및 해당 종속성에 대한 색인과 서명 등을 유지 관리합니다.

입력을 중지하면 오른쪽 여백 상단에 작은 색깔의 눈이 표시됩니다.이는 IDE가 "주석 작성기" 및 "코드 검사"를 실행 중임을 나타냅니다.현재 색인과 파일의 현재 상태(가져오기, 선언 등)를 기반으로 클래스, 메서드 및 변수가 유효한지 여부를 알 수 있습니다.사용되지 않는 변수, 메서드 호출의 잘못된 매개변수 등에 대해서도 마찬가지입니다.

장점:

  • 주석자는 기본적으로 현재 파일을 나타내는 향상된 AST인 PSI 트리에서 직접 작업합니다.
  • 매번 컴파일하는 것보다 더 빠를 수 있습니다(인덱스를 사용하고 모든 종속 클래스를 다시 컴파일할 필요가 없음).
  • 주석자는 사물을 감지할 수 있습니다. javac 잠재적인 버그(예:사용하여 = 대신에 == 안에 while 상태)

단점:

  • 정말 엄청난 작업이군요. 기본적으로 그들은 모든 오류를 찾기 위해 로직을 다시 작성해야 합니다. javac 생성할 수 있습니다(그래서 버그 추적기에서 "좋은 코드는 빨간색" 또는 "잘못된 코드는 녹색입니다."는 감지한 코드와 컴파일러가 출력하는 코드 사이에 차이가 있음을 의미합니다.)

요약:그것은 아무것도 생산하지 않습니다 .class 프로젝트를 만들기 전까지는 모든 것이 "손으로" 이루어집니다.

다른 팁

모든 모듈에 대해 컴파일러 출력 경로는 모듈 설정 경로 탭에서 찾을 수 있습니다. jrebel 플러그인은 rebel.xml을 자동으로 생성하고 모듈 설정 에서 디렉토리 경로를 파생하므로 수동으로 위치를 가리킬 필요가 없으므로, IDE 플러그인을 사용하여 rebel.xml을 생성합니다.프로젝트보기 -> jrebel -> rebel.xml 생성

Intellij는 코드를 이해합니다. 코드를 컴파일 할 필요가 없습니다.

편집 후에는 Maven 프로젝트 인 경우 Classes가 target 디렉토리에 저장됩니다. 그렇지 않으면 디렉토리는 "프로젝트 컴파일러 출력"에서 "프로젝트 컴파일러 출력"에서 디렉토리가 지정됩니다.

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

프로젝트의 홈 디렉토리에서 아웃 / 프로덕션 / 메인 폴더로 이동하여 파일을 찾았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top