无法编译包含apache camel程序的java文件

问题描述 投票:0回答:1

我是 Apache Camel 的初学者。我有一个具有以下结构的 Maven 项目: (https://i.stack.imgur.com/xuXV9.png) 文件 Write_Paper 包含以下内容: (https://i.stack.imgur.com/76eE9.png) 当我使用带有 javac Write_Paper.java 的 cmd 编译此文件时,出现一些错误:

Write_Paper.java:3: 错误:包 org.apache.camel 不存在 导入 org.apache.camel.CamelContext;

Write_Paper.java:4: 错误:包 org.apache.camel.builder 不存在 导入 org.apache.camel.builder.RouteBuilder;

Write_Paper.java:5: 错误:包 org.apache.camel.impl 不存在 导入 org.apache.camel.impl.DefaultCamelContext;

Write_Paper.java:9: 错误: 找不到符号 CamelContext 上下文 = new DefaultCamelContext()

符号:类 CamelContext 位置:类 Write_Paper Write_Paper.java:9: 错误:找不到符号

符号:类 DefaultCamelContext 位置:类 Write_Paper Write_Paper.java:10: 错误:找不到符号 context.addRoutes(new RouteBuilder() {

符号:类 RouteBuilder 位置:类 Write_Paper Write_Paper.java:12: 错误:找不到符号 来自(“文件:sourceFolder?noop = true”)

符号:来自(字符串)的方法

7个错误

Pom.xml文件内容在这里 (https://i.stack.imgur.com/K6iEe.png)

我尝试了很多解决方案,但我无法修复它们。我应该怎么做才能解决它?

compiler-errors apache-camel javac camel-core
1个回答
0
投票

Pom.xml

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-core</artifactId>
    <version>3.20.2</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.6.6</version>
</dependency>

独立的java代码

import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
    
public class HelloWorld {
    public static void main(String[] args) throws Exception {
        CamelContext context = new DefaultCamelContext();
        context.addRoutes(new RouteBuilder() {
            public void configure() {
                from("file:source?noop=true").to("file:dest");
            }
        });
        context.close();
        context.start();
    }
}

将文件保存在 src/main/resources 文件夹中:

文件名 = log4j.properties 内部文件内容:

log4j.rootLogger=debug,console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %L - %m%n

它应该工作。

© www.soinside.com 2019 - 2024. All rights reserved.