Java 使用Jersey、Glassfish 4和Netbeans处理非Maven项目的文件上载

Java 使用Jersey、Glassfish 4和Netbeans处理非Maven项目的文件上载,java,netbeans,jersey,glassfish,Java,Netbeans,Jersey,Glassfish,我在使用Jersey、Glassfish 4和Netbeans实现文件上传处理时遇到问题。我知道有很多教程,但都使用maven项目 正如我们所知,在Netbeans web应用程序项目中,选择Glassfish作为服务器后,我们可以使用所有JEE API,因为Netbeans会自动将Glassfish中的JEE API添加到我们的库中(如下图所示)。我认为这只是为了编撰,没有包括在已部署的战争中 我们甚至可以创建一个新的非web Java应用程序并使用JEE API,方法是将JavaEE7AP

我在使用Jersey、Glassfish 4和Netbeans实现文件上传处理时遇到问题。我知道有很多教程,但都使用maven项目

正如我们所知,在Netbeans web应用程序项目中,选择Glassfish作为服务器后,我们可以使用所有JEE API,因为Netbeans会自动将Glassfish中的JEE API添加到我们的库中(如下图所示)。我认为这只是为了编撰,没有包括在已部署的战争中

我们甚至可以创建一个新的非web Java应用程序并使用JEE API,方法是将JavaEE7API添加到我们的库中,它只是用于编译的API,在运行时,所有的类都由服务器提供(如第二幅图所示)

现在,我想使用Jersey多部分API来处理文件上传。Glassfish的模块文件夹中已经有了所需的jar,比如jersey media multipart。(第三张图片),我知道它们是在运行时提供的,但我需要它们来编译我的项目。简单地将jar添加到项目库是不合适的,因为它会给我带来很多奇怪的错误,我们知道我们不应该因为Glassfish已经提供了它们


我需要类似Jersey Multipart API的东西来编译项目,以便项目在运行时使用Glassfish已经提供的所有类。就像Netbeans提供的JavaEE7API库一样,它工作得很好。

好吧,下面是解决方案

如果只添加jersey media multipart,则会出现错误HttpReader not found,因此需要在glassfish模块中添加所有jersey jar

接下来,右键单击netbeans项目中的libraries文件夹,在compile选项卡中,取消选中package列中的所有jersey JAR,使它们在构建/运行项目时被排除

希望这能帮助任何有类似问题的人