Java库搜索顺序

Java库搜索顺序,java,shared-libraries,preference,Java,Shared Libraries,Preference,背景/示例(但问题可能比这更广泛): 我正在尝试编写一个Java应用程序来访问Google AppEngine服务器。为了为此设置项目,我遵循了此处接受答案中概述的步骤: 我现在遇到了一个问题,我试图在Java客户端应用程序中执行一个HttpURLConnection-请求(即不在AppEngine服务器代码中),但Google的AppEngine库似乎已经用它自己的urlFetch()-实现取代了这个连接的Java版本。这导致我出现以下错误:“未找到API包'urlfetch'或调用'Fet

背景/示例(但问题可能比这更广泛):

我正在尝试编写一个Java应用程序来访问Google AppEngine服务器。为了为此设置项目,我遵循了此处接受答案中概述的步骤:

我现在遇到了一个问题,我试图在Java客户端应用程序中执行一个
HttpURLConnection
-请求(即不在AppEngine服务器代码中),但Google的AppEngine库似乎已经用它自己的
urlFetch()
-实现取代了这个连接的Java版本。这导致我出现以下错误:“未找到API包'urlfetch'或调用'Fetch()'。”

实际问题:

什么决定了Java通过库查找所需类实现的顺序?有没有办法修改这个顺序(特别是在Eclipse中),使实际的JRE函数优先于同样需要的第三方库。或者,在上面给出的示例中,
Url
的实现是否存在一些特殊情况,这些情况无法通过指定库顺序来解决

更新:


事实证明,我看到的问题与类的加载顺序无关。AppEngine服务器代码在执行期间而不是在库加载时()显式调用注册自己的处理程序。所以,虽然我的“实际问题”可能仍然存在,但我还没有遇到一个重要的场景…

您可能需要定义一个自定义


另外,看看这个。

在Eclipse中,您可以调整类路径顺序。右键单击项目,选择属性、Java构建路径,然后单击“订单和导出”选项卡。但是,当然,在Eclipse之外运行时,这不会影响您的程序。

可能的重复:@kocko由于客户端代码没有在Tomcat中运行,所以这个问题与您链接的问题不同。。。