java webapplicationexception_java - NoClassDefFoundError:javax / ws / rs / WebApplicationException -...

我有以下使用JAX-RS来使用api的类:

public class PackageProcessor implements IPackageProcessor {

public PackageProcessor() {

}

@Override

public PackageDimensions getPackageDimensions(byte[] image) throws PackageProcessorException {

Image imageBase64 = toBase64(image);

PackageDimensions dimensions = null;

try {

Client client = ClientBuilder.newClient();

dimensions = client.target(BASE_URI)

.path(DIMENSIONS_PATH)

.request(MediaType.APPLICATION_JSON)

.accept(MediaType.APPLICATION_JSON)

.post(Entity.json(imageBase64))

.readEntity(PackageDimensions.class);

} catch (WebApplicationException ex) {

throw new PackageProcessorException("Error al procesar la imagen", ex);

}

return dimensions;

}

}

我试图在Java应用程序中使用它只是为了测试它是否有效:

public static void main(String[] args) {

try {

IPackageProcessor p = new PackageProcessor();

Path path = Paths.get("path");

byte[] data = Files.readAllBytes(path);

PackageDimensions d = p.getPackageDimensions(data);

} catch (IOException ex) {

Logger.getLogger(Prueba.class.getName()).log(Level.SEVERE, null, ex);

} catch (PackageProcessorException ex) {

Logger.getLogger(Prueba.class.getName()).log(Level.SEVERE, null, ex);

}

}

但是,当我尝试运行此应用程序时,在执行new PackageProcessor()的行中出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/ws/rs/WebApplicationException

at prueba.Prueba.main(Prueba.java:25)

Caused by: java.lang.ClassNotFoundException: javax.ws.rs.WebApplicationException

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 1 more

我明白这是什么意思,但是我没有在构造函数中调用任何抛出该异常的东西,对吗?

我不想在我的Java应用程序中向JAX-RS添加依赖项,这就是我将可能的WebApplicationException封装在我自己的异常类PackageProcessorException 。 我认为就足够了。

我究竟做错了什么?

我正在使用Netbeans,如果那有什么改变

更新

感谢您的解释,这些解释似乎是正确的,但是如果是这样的话,我的Java应用程序将无法忽略PackageProcessor的实现吗?

那就是我所希望的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值