Jax Ws based Projekt: Error:package javax.jws does not exist ; Programm cannot find symbols

Jax Ws based Projekt: Error:package javax.jws does not exist ; Programm cannot find symbols

如标题所述,我确实收到以下两个错误: 1.package javax.jws 不存在 2.cannot 查找符号例如 @WebService, Endpoint.publish

这是项目的结构: Strukture

四个代码文件: 1. HalloWelt.java:

package miniwebservice;

import javax.jws.*;

@WebService
public interface HalloWelt
{
   public String hallo( @WebParam( name = "wer" ) String wer );
}

2.HalloWeltImpl.java:

package miniwebservice;

import javax.jws.WebService;

@WebService( endpointInterface="miniwebservice.HalloWelt" )
public class HalloWeltImpl implements HalloWelt
{
   public String hallo( String wer )
   {
      return "Hallo " + wer;
   }
}

3.TestWsClient.java:

package miniwebservice;

import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class TestWsClient
{
   public static void main( final String[] args ) throws Throwable
   {
      String url = ( args.length > 0 ) ? args[0] : "http://localhost:4434/miniwebservice";
      Service service = Service.create(
            new URL( url + "?wsdl" ),
            new QName( "http://miniwebservice/", "HalloWeltImplService" ) );
      HalloWelt halloWelt = service.getPort( HalloWelt.class );
      System.out.println( "\n" + halloWelt.hallo( args.length > 1 ? args[1] : "" ) );
   }
}

4.TestWsServer.java:

package miniwebservice;

import javax.xml.ws.Endpoint;

public class TestWsServer
{
   public static void main( final String[] args )
   {
      String url = ( args.length > 0 ) ? args[0] : "http://localhost:4434/miniwebservice";
      Endpoint.publish( url, new HalloWeltImpl() );
   }
}

通过执行以下操作:javac -d bin src/miniwebservice/*.java 我收到这些错误:Errors

这是什么问题?我该如何解决?

您可能需要 Java Servlet API jar 在您的类路径中,但没有。这里有一个link下载最新版本:https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/4.0.1

您没有提到您是如何 运行 您的程序,因此您需要通过 IDE(看起来像 VSCode) 或通过命令行 java TestWsClient -cp java.servlet-api-4.0.1.jar.