80.2. 컴파일
csimple 언어는 일반 Java 소스 코드로 구문 분석되어 다른 모든 소스 코드와 함께 컴파일되거나 camel-csimple-joor
모듈을 통해 부트스트랩 중에 한 번 컴파일할 수 있습니다.
csimple을 컴파일하는 방법은 두 가지가 있습니다.
-
빌드 시
camel-csimple-maven-plugin
을 사용하여 소스 코드를 생성합니다. -
Camel 부트 스트랩 중에 런타임 in-memory 컴파일을 수행하는
camel-csimple-joor
사용
80.2.1. camel-csimple-maven-plugin 사용 링크 복사링크가 클립보드에 복사되었습니다!
camel-csimple-maven-plugin
Maven 플러그인은 소스 코드에서 모든 csimple 스크립트를 검색하는 데 사용되며, 그러면 다른 모든 소스와 함께 컴파일됩니다.
maven 플러그인은 .java
및 .xml
파일(Java 및 XML DSL)의 소스 코드 스캔을 수행합니다. 스캐너는 특정 코드 패턴을 감지하기 위해 제한되며 비정상/레이어 방식으로 사용되는 경우 일부 csimple 스크립트를 검색하지 못할 수 있습니다.
camel-csimple-joor
를 사용한 런타임 컴파일에는 이러한 제한 사항이 없습니다.
이점은 모든 csimple 스크립트가 일반 Java 컴파일러를 사용하여 컴파일되므로 모든 항목이 애플리케이션 JAR 파일의 .class
파일로 포함되어 있으며 런타임에 추가 종속성이 필요하지 않습니다.
camel-csimple-maven-plugin
을 사용하려면 다음과 같이 pom.xml
파일에 추가해야 합니다.
또한 생성된 소스 코드가 컴파일되고 애플리케이션 JAR 파일에 포함되도록 build-helper-maven-plugin
Maven 플러그인을 추가하여 Java 컴파일러의 소스 폴더 목록에 created /generated
를 포함해야 합니다.
maven 플러그인을 사용하는 Camel 예제의 camel-example-csimple
예제 를 참조하십시오.
80.2.2. camel-csimple-joor 사용 링크 복사링크가 클립보드에 복사되었습니다!
jOOR 라이브러리는 Java 컴파일러와 통합되며 Java 코드의 런타임 컴파일을 수행합니다.
camel-simple-joor
를 사용할 때 지원되는 런타임은 Java 독립 실행형, Spring Boot, Camel Quarkus 및 기타 마이크로 서비스 런타임을 대상으로 합니다. OSGi, Camel Karaf 또는 Java Application Server 런타임에서는 지원되지 않습니다.
jOOR은 fat exhaust packaging (https://github.com/jOOQ/jOOR/issues/69)을 사용하는 Spring Boot와의 런타임 컴파일을 지원하지 않으며, 기존 클래스 경로와 함께 작동합니다.
camel-simple-joor
를 사용하려면 classpath에 종속성으로 추가하기만 하면 됩니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-csimple-joor</artifactId> <version>{CamelSBProjectVersion}</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-csimple-joor</artifactId>
<version>{CamelSBProjectVersion}</version>
</dependency>
pom.xml
파일에 Maven 플러그인을 추가할 필요가 없습니다.
jOOR 컴파일러를 사용하는 Camel 예제 의 camel-example-csimple-joor
예제를 참조하십시오.