이 프로젝트에는 고급 분석 기능을 갖춘 Java 1.0 - Java 21 파서를 구현하는 라이브러리 세트가 포함되어 있습니다.
우리의 주요 사이트는 JavaParser.org입니다.
후원자가 되어 이 프로젝트를 지원하세요! 후원자가 되세요. 귀하의 기부는 프로젝트가 성공적으로 진행되고 성장하는 데 도움이 될 것입니다.
Javaparser는 OpenCollective를 사용하여 돈을 모읍니다.
후원자분들께 감사드립니다!
프로젝트 바이너리는 Maven Central에서 사용할 수 있습니다.
우리는 사용자가 프로젝트에 Maven, Gradle 또는 다른 빌드 시스템을 채택할 것을 강력히 권장합니다. 익숙하지 않다면 maven 빠른 시작 프로젝트(javaparser-maven-sample, javasymbolsolver-maven-sample)를 살펴보는 것이 좋습니다.
Maven 구성에 다음을 추가하거나 자신의 종속성 관리 시스템에 맞게 조정하세요.
2.5.1에서 3.0.0+으로 업그레이드하는 경우 마이그레이션 가이드를 참조하세요.
메이븐 :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-symbol-solver-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
그래들 :
implementation 'com.github.javaparser:javaparser-symbol-solver-core:3.26.2'
버전 3.5.10부터 JavaParser 프로젝트에는 JavaSymbolSolver가 포함되어 있습니다. JavaParser가 추상 구문 트리를 생성하는 동안 JavaSymbolSolver는 해당 AST를 분석하고 요소와 해당 선언 간의 관계를 찾을 수 있습니다(예: 변수 이름의 경우 해당 유형, AST에서의 위치에 대한 정보를 제공하는 메소드의 매개변수일 수 있음) , 등).
위의 종속성을 사용하면 JavaParser와 JavaSymbolSolver가 모두 프로젝트에 추가됩니다. 생성된 AST를 탐색하고 조작하기 위해 Java 소스 코드를 구문 분석하는 핵심 기능만 필요한 경우 프로젝트에 JavaParser만 포함하여 프로젝트 상용구를 줄일 수 있습니다.
메이븐 :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
그래들 :
implementation 'com.github.javaparser:javaparser-core:3.26.2'
버전 3.6.17부터 AST를 JSON으로 직렬화할 수 있습니다. 이를 위한 별도의 모듈이 있습니다:
메이븐 :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core-serialization</ artifactId >
< version >3.26.2</ version >
</ dependency >
그래들 :
implementation 'com.github.javaparser:javaparser-core-serialization:3.26.2'
GitHub에서 프로젝트의 소스 코드를 체크아웃한 경우 다음을 사용하여 Maven으로 프로젝트를 빌드할 수 있습니다.
./mvnw clean install
소스 파일에서 패키지된 jar 파일을 생성하려면 다음 maven 명령을 실행합니다.
./mvnw package
참고 두 모듈의 jar 파일은 다음 위치에서 찾을 수 있습니다.
javaparser/javaparser-core/target/javaparser-core-<version>.jar
javaparser-symbol-solver-core/target/javaparser-symbol-solver-core-<version>.jar
소스를 체크아웃하고 IDE에서 프로젝트를 보려면 먼저 일부 소스 파일을 생성하는 것이 가장 좋습니다. 그렇지 않으면 IDE에서 많은 컴파일 불만 사항을 받게 됩니다. ( ./mvnw clean install
이미 이 작업을 수행하고 있습니다.)
./mvnw javacc:javacc
AST 노드의 코드를 수정하는 경우, 특히 필드나 노드 클래스를 추가하거나 제거하는 경우 코드 생성기가 많은 코드를 업데이트합니다. run_metamodel_generator.sh
스크립트는 run_core_generators.sh
에 의해 실행되는 코드 생성기에서 사용되는 메타모델을 다시 작성합니다. 이를 실행하기 전에 최소한 javaparser-core
컴파일되는지 확인하십시오.
참고 : Eclipse IDE의 경우 Wiki(https://github.com/javaparser/javaparser/wiki/Eclipse-Project-Setup-Guide)에 설명된 단계를 따르세요.
JavaParser는 LGPL 라이센스 또는 Apache 라이센스 조건에 따라 사용할 수 있습니다. 사용자로서 귀하는 JavaParser를 채택하는 조건을 선택할 자격이 있습니다.
LGPL 라이선스에 대한 자세한 내용은 LICENSE.LGPL을 참조하세요.
Apache 라이선스에 대한 자세한 내용은 LICENSE.APACHE를 참조하세요.