64.2. compilation
csimple 언어는 일반 Java 소스 코드로 구문 분석되고 다른 모든 소스 코드와 함께 컴파일되거나 camel-csimple-joor
모듈을 통해 부트스트랩 중에 한 번 컴파일할 수 있습니다.
csimple을 컴파일하는 방법에는 두 가지가 있습니다.
-
빌드 시 소스 코드를 생성하는
camel-csimple-maven-plugin
을 사용합니다. -
Camel의 부트스트랩 중에 메모리 내 컴파일을 실행하는
camel-csimple-joor
를 사용합니다.
64.2.1. camel-csimple-maven-plugin 사용
camel-csimple-maven-plugin
Maven 플러그인은 소스 코드에서 모든 csimple 스크립트를 검색한 다음 src/generated/java
폴더의 소스 코드를 자동으로 생성한 다음 다른 모든 소스와 함께 컴파일됩니다.
maven 플러그인은 .java
및 .xml
파일(Java 및 XML DSL)의 소스 코드 검사를 수행합니다. 스캐너는 특정 코드 패턴을 감지하기 위한 제한이며 비정상적인/rare 방식으로 사용 중인 경우 일부 csimple 스크립트를 검색하지 못할 수 있습니다.
camel-csimple-joor
를 사용한 런타임 컴파일에는 이러한 제한이 없습니다.
모든 csimple 스크립트는 일반 Java 컴파일러를 사용하여 컴파일되므로 애플리케이션 JAR 파일의 .class
파일로 모든 항목이 포함되어 런타임 시 추가 종속성이 필요하지 않습니다.
다음과 같이 camel-csimple-maven-plugin
을 사용하려면 pom.xml
파일에 추가해야 합니다.
<plugins> <!-- generate source code for csimple languages --> <plugin> <groupId>org.apache.camel</groupId> <artifactId>camel-csimple-maven-plugin</artifactId> <version>${camel.version}</version> <executions> <execution> <id>generate</id> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin> <!-- include source code generated to maven sources paths --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>add-source</goal> <goal>add-resource</goal> </goals> <configuration> <sources> <source>src/generated/java</source> </sources> <resources> <resource> <directory>src/generated/resources</directory> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins>
그리고 생성된 소스 코드가 애플리케이션 JAR 파일에 포함되어 있는지 확인하려면 src/generated
을 Java 컴파일러의 소스 폴더 목록에 포함하도록 build-helper-maven-plugin
Maven 플러그인을 추가해야 합니다.
maven 플러그인을 사용하는 Camel 예 의 camel-example-csimple
예제를 참조하십시오.