org.apache.camel.NoSuchLanguageException:找不到以下语言:简单
org.apache.camel.NoSuchLanguageException: No language could be found for: simple
我有以下异常:
org.apache.camel.NoSuchLanguageException: No language could be found for: simple
调用 DefaultCamelContext.start();
时
在我的路线中我需要使用 .recipientList(exchangeProperty("name"))
这就是为什么我从 Camel 2.12.0 迁移到 Camel 3.4.0 现在我什至无法启动上下文。
pom.xml相关依赖:
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-api</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-base</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-language</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jetty</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-http</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
为了以防万一,我添加了骆驼语言。
我知道模块系统,我已经尝试了教程 (https://camel.apache.org/releases/release-3.4.0/) 中的 dependencyManagement 块,但遇到了同样的错误。所以我决定不包括不必要的罐子。
我在 Eclipse IDE(版本 2021-03) 中开发。 Maven 自动选择 J2SE-1.5 系统库(但是我的 default JRE 是 1.8),我无法更改它:更新 maven 项目后它得到回到 1.5。
这是带有一些 DEBUG 消息的完整 stackTrace:
[ main] ResolverHelper DEBUG Lookup Language with name simple in registry. Found: null
[ main] ResolverHelper DEBUG Lookup Language with name simple-language in registry. Found: null
org.apache.camel.NoSuchLanguageException: No language could be found for: simple
at org.apache.camel.impl.engine.DefaultLanguageResolver.noSpecificLanguageFound(DefaultLanguageResolver.java:92)
at org.apache.camel.impl.engine.DefaultLanguageResolver.resolveLanguage(DefaultLanguageResolver.java:68)
at org.apache.camel.impl.engine.AbstractCamelContext.resolveLanguage(AbstractCamelContext.java:1730)
at org.apache.camel.impl.engine.AbstractCamelContext.doStartStandardServices(AbstractCamelContext.java:3205)
at org.apache.camel.impl.DefaultCamelContext.doStartStandardServices(DefaultCamelContext.java:297)
at org.apache.camel.impl.engine.AbstractCamelContext.forceLazyInitialization(AbstractCamelContext.java:3148)
at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2550)
at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2435)
at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2452)
at my.camel.MainApp.main(MainApp.java:16)
任何帮助将不胜感激:)
我没有将 camel-core
视为您的依赖项之一,如您提供的 URL 中所述。
根据 documentation on expression languages,Simple
语言作为 camel-core-languages
工件的一部分提供,它是 camel-core
.[=19= 的编译依赖项]
我建议再次尝试使用 Camel POM 进行依赖管理,确保明确包含 camel-core
工件作为依赖项。如果单独使用 camel-core
不能解决您的问题,请考虑添加 camel-core-languages
。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bom</artifactId>
<version>3.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core-languages</artifactId>
</dependency>
</dependencies>
我有以下异常:
org.apache.camel.NoSuchLanguageException: No language could be found for: simple
调用 DefaultCamelContext.start();
在我的路线中我需要使用 .recipientList(exchangeProperty("name"))
这就是为什么我从 Camel 2.12.0 迁移到 Camel 3.4.0 现在我什至无法启动上下文。
pom.xml相关依赖:
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-api</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-base</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-language</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jetty</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-http</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
为了以防万一,我添加了骆驼语言。
我知道模块系统,我已经尝试了教程 (https://camel.apache.org/releases/release-3.4.0/) 中的 dependencyManagement 块,但遇到了同样的错误。所以我决定不包括不必要的罐子。
我在 Eclipse IDE(版本 2021-03) 中开发。 Maven 自动选择 J2SE-1.5 系统库(但是我的 default JRE 是 1.8),我无法更改它:更新 maven 项目后它得到回到 1.5。
这是带有一些 DEBUG 消息的完整 stackTrace:
[ main] ResolverHelper DEBUG Lookup Language with name simple in registry. Found: null
[ main] ResolverHelper DEBUG Lookup Language with name simple-language in registry. Found: null
org.apache.camel.NoSuchLanguageException: No language could be found for: simple
at org.apache.camel.impl.engine.DefaultLanguageResolver.noSpecificLanguageFound(DefaultLanguageResolver.java:92)
at org.apache.camel.impl.engine.DefaultLanguageResolver.resolveLanguage(DefaultLanguageResolver.java:68)
at org.apache.camel.impl.engine.AbstractCamelContext.resolveLanguage(AbstractCamelContext.java:1730)
at org.apache.camel.impl.engine.AbstractCamelContext.doStartStandardServices(AbstractCamelContext.java:3205)
at org.apache.camel.impl.DefaultCamelContext.doStartStandardServices(DefaultCamelContext.java:297)
at org.apache.camel.impl.engine.AbstractCamelContext.forceLazyInitialization(AbstractCamelContext.java:3148)
at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2550)
at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2435)
at org.apache.camel.support.service.BaseService.start(BaseService.java:111)
at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2452)
at my.camel.MainApp.main(MainApp.java:16)
任何帮助将不胜感激:)
我没有将 camel-core
视为您的依赖项之一,如您提供的 URL 中所述。
根据 documentation on expression languages,Simple
语言作为 camel-core-languages
工件的一部分提供,它是 camel-core
.[=19= 的编译依赖项]
我建议再次尝试使用 Camel POM 进行依赖管理,确保明确包含 camel-core
工件作为依赖项。如果单独使用 camel-core
不能解决您的问题,请考虑添加 camel-core-languages
。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-bom</artifactId>
<version>3.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core-languages</artifactId>
</dependency>
</dependencies>