我有一个非常简单的REST API,它使用了jersey 2.x(Glassfish)。当我只输出hello world字符串时,它就起作用了。但是,当我添加几个JAR并在一行代码中使用它们时,它会抛出大量classjava.lang.noClassDefounderRorr
错误。我没有编译或语法错误。这个错误很长,所以如果我在里面装了很多垃圾,请原谅。
我看到了很多解决这个问题的方法,但是我不理解它们的术语,例如,类路径需要被修复等等。
代码
package com.rest.example;
import java.io.File;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
import com.infineon.essence_210.api.Component;
import com.infineon.essence_210.api.EssenceDBMgr;
@Path("/testEssence") public class HelloWorld {
@GET
@Path("/{param}")
public Response getMsg(@PathParam("param") String msg){
String output = "Welcome to the world of Rest : "+msg;
Component comp = null;
File file = new File("C:\\MYFILE.xml");
try {
comp = EssenceDBMgr.getInstance().lookupComponent(file); //<---ISSUE HERE!
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return Response.status(200).entity(output).build();
}
}
eclipse控制台中出现错误(简短但询问您是否想要所有内容)
您可以将jar添加到项目的lib
文件夹中。如果您想简单地将JAR添加到项目中,
右键单击项目>生成路径>配置生成路径>添加外部JAR
同样根据控制台消息java.lang.noClassDefounderRor:com/sun/xml/bind/marshaller/namespacePrefixMapper
,您缺少jaxb-impl-jar文件。
您需要将所有的JAR都放在lib
文件夹下,而不要将其保存在子文件夹中。
问题内容: 如何将本地jar文件添加到Maven项目? 问题答案: 如下所示将JAR安装到本地Maven存储库中: 其中每个都指: :要加载的文件的路径,例如→ :文件应注册的组,例如→ :文件的工件名称,例如→ :文件的版本,例如→ :文件的包装,例如→
问题内容: 如何直接在项目的库源代码中添加本地jar文件(尚未成为Maven存储库的一部分)? 问题答案: 如下所示将JAR安装到本地Maven存储库中: 其中每个都指: :要加载的文件的路径,例如→ :文件应注册的组,例如→ :文件的工件名称,例如→ :文件的版本,例如→ :文件的包装,例如→
如何直接在项目的库源中添加本地jar文件(还不是Maven存储库的一部分)?
问题内容: 我不是要问正确的问题,而是想清除我的疑问。 实际上,我遇到了从jar文件引用类文件的情况。我的意思是说我有一个后端Java项目,其中包含application-context.xml文件的ABC。 现在,我创建了ABC项目的jar文件,并在一个基于Web的应用程序中使用了它。 在这里,我遇到了一个问题,即bean无法自动装配,并知道问题是,当我使用Eclipse导出ABC项目的jar文
当我右键单击Maven项目并选择AddDependency选项,然后在查询中键入外部jar的名称时,找不到它。如何将外部jar添加到Maven项目中?