gpt4 book ai didi

java - 贴切警告 : no annotation processor found

转载 作者:行者123 更新时间:2023-11-30 12:00:19 25 4
gpt4 key购买 nike

我现在正在自学网络服务并尝试运行一个 helloWorld。我认为要设置运行 apt 所需的所有 Web 服务内容。

我是这样运行的:

apt HelloImpl.java -classpath /<path>/jsr181-api.jar

但我收到警告(见下文)。我是否也需要指定注释处理器?我认为 apt 命令应该生成几个文件,但这并没有发生(只是生成一个 .class 文件)。谢谢您的帮助。

警告:

warning: No annotation processors found but annotations present.
1 warning

代码:

package server;

import javax.jws.WebService;

@WebService
public class HelloImpl {

/**
* @param name
* @return Say hello to the person.
*/
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}

奖励问题:apt 有什么作用?我假设它调用 javac?它是否也应该调用注释处理器?

更新:tutorial我关注的是:

The next step is to run apt on the above Java code, resulting in several artifacts:

HelloServiceImpl.wsdl
schema1.xsd
classes/server/HelloImpl.class
classes/server/jaxrpc/SayHello.class
classes/server/jaxrpc/SayHelloResponse.class
classes/server/jaxrpc/SayHello.java
classes/server/jaxrpc/SayHelloResponse.java

我认为这就是 apt 应该产生的结果(假设我向它传递了正确的参数)。但是我认为我需要向它传递一个注释处理器(?)。不过,我真的只想使用默认设置(Web 服务注释处理器)。

更新 2:也许我应该使用 asant 或 wsgen?我看了看,但我的机器上没有这些..需要研究的东西..也许我正在/正在使用的教程是错误的。这是 asant 引用的链接:http://java.sun.com/webservices/docs/2.0/tutorial/doc/JAXWS3.html

最佳答案

apt不是编译器。它处理源文件并调用 annotation processors视情况而定。

引用Getting Started...

The command-line utility apt, annotation processing tool, finds and executes annotation processors based on the annotations present in the set of specified source files being examined.

您可以在源文件上运行 apt 以在构建时生成新的源文件或元数据文件。您可以运行 apt via javac .

Java 中的注释可以用于多种用途。并非所有这些都需要在构建时处理。有些用作标记,可通过检测使用它们在加载时转换类。大多数只是在运行时标记中使用,这些标记可以被内省(introspection)工具(如许多容器和依赖注入(inject)器)使用。究竟如何使用注解取决于它来自的 API。 JEE5 教程描述了 how to use the WebService annotation .

关于java - 贴切警告 : no annotation processor found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2096437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com