Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在eclipse类路径中为jar文件赋予优先级?_Java_Eclipse_Jakarta Ee_Classpath - Fatal编程技术网

Java 如何在eclipse类路径中为jar文件赋予优先级?

Java 如何在eclipse类路径中为jar文件赋予优先级?,java,eclipse,jakarta-ee,classpath,Java,Eclipse,Jakarta Ee,Classpath,在我的两个jar文件下面有一个类文件TagAttributeInfo j2ee-6.1.jar,servlet-api-2.3.jar . 现在我需要从j2ee-6.1.jar调用该类,但在运行时,它使用的是servlet-api-2.3.jar,这是我不想要的。 有谁能帮我在类路径中对jar文件进行优先级排序,这样我就可以优先使用j2ee-6.1.jar它在类路径上找到的第一个jar,它要查找的类将被使用。因此,您可以通过将类的jar放在类路径的开头来确定类的优先级 我不确定在Eclipse

在我的两个jar文件下面有一个类文件
TagAttributeInfo

j2ee-6.1.jar,servlet-api-2.3.jar .
现在我需要从
j2ee-6.1.jar
调用该类,但在运行时,它使用的是
servlet-api-2.3.jar
,这是我不想要的。
有谁能帮我在类路径中对jar文件进行优先级排序,这样我就可以优先使用
j2ee-6.1.jar

它在类路径上找到的第一个jar,它要查找的类将被使用。因此,您可以通过将类的jar放在类路径的开头来确定类的优先级


我不确定在Eclipse中如何实现这一点,但可能有一些项目依赖项列表对应于类路径上的jar,希望您可以对该列表中的元素进行排序,并将jar放在顶部。尝试在“项目设置”面板中查找它

我不知道它是否是规范的一部分,但当我过去这样做的时候,将“更高”优先级的jar放在类路径上会起作用。

您可以按类路径顺序将其向上移动(右键单击项目,选择构建路径,然后配置构建路径,然后排序并导出)

您确定需要这两个jar文件吗

无论如何,在构建路径对话框中,您可以指定要搜索的jar文件的顺序。

  • 进入项目属性>生成路径
  • 在“排序和导出”选项卡中,找到
    j2ee-6.1.jar
    ,然后按Up按钮将其按类路径顺序向上移动。继续按Up,直到它位于
    servlet-api-2.3.jar
    上方
  • 最后按
    OK
  • 删除servlet-api-2.3.jar,您不需要它
  • 或者在lib列表中将j2ee-6.1.jar移到高于servlet-api-2.3.jar的位置

  • 类路径中应该只有一个JAR,这样才能编译类。但在运行时,jar将位于应用程序服务器类路径中,您将无法用另一个来替换它

    如果您的容器是JEE6容器,那么它使用servlet 3.0,servlet-api-2.3.jar已经过时,不应该在类路径中。如果您的容器只支持ServletAPI2.3,那么您将无法在此容器中使用来自JEE6JAR的类