首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何指示Eclipse记录外部jars的相对路径?

如何指示Eclipse记录外部jars的相对路径?
EN

Stack Overflow用户
提问于 2011-11-30 05:26:17
回答 4查看 19.9K关注 0票数 12

在添加了另外两个外部jars (org.restlet.ext.simple.jar和org.simpleframework.jar)之后,下面是我的.classpath文件:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="lib" path="../3rd_party/restlet-jse-2.0.10/lib/org.restlet.ext.jackson.jar" sourcepath="C:/Program Files/Java/restlet-jse-2.0.10/src">
        <attributes>
            <attribute name="javadoc_location" value="file:/C:/Program Files/Java/restlet-jse-2.0.10/docs/ext/"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="lib" path="../3rd_party/restlet-jse-2.0.10/lib/org.restlet.ext.ssl.jar" sourcepath="C:/Program Files/Java/restlet-jse-2.0.10/src">
        <attributes>
            <attribute name="javadoc_location" value="file:/C:/Program Files/Java/restlet-jse-2.0.10/docs/ext/"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="lib" path="../3rd_party/restlet-jse-2.0.10/lib/org.restlet.jar" sourcepath="C:/Program Files/Java/restlet-jse-2.0.10/src">
        <attributes>
            <attribute name="javadoc_location" value="file:/C:/Program Files/Java/restlet-jse-2.0.10/docs/api"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="lib" path="../3rd_party/restlet-jse-2.0.10/lib/org.jsslutils_1.0/org.jsslutils.jar"/>
    <classpathentry kind="lib" path="../3rd_party/restlet-jse-2.0.10/lib/org.codehaus.jackson_1.4/org.codehaus.jackson.core.jar"/>
    <classpathentry kind="lib" path="../3rd_party/restlet-jse-2.0.10/lib/org.codehaus.jackson_1.4/org.codehaus.jackson.mapper.jar"/>
    <classpathentry kind="lib" path="../3rd_party/guice-3.0/aopalliance.jar"/>
    <classpathentry kind="lib" path="../3rd_party/guice-3.0/guice-3.0.jar"/>
    <classpathentry kind="lib" path="../3rd_party/guice-3.0/javax.inject.jar"/>
    <classpathentry kind="lib" path="C:/dev/poc/3rd_party/restlet-jse-2.0.10/lib/org.restlet.ext.simple.jar" sourcepath="C:/Program Files/Java/restlet-jse-2.0.10/src">
        <attributes>
            <attribute name="javadoc_location" value="file:/C:/Program Files/Java/restlet-jse-2.0.10/docs/ext/"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="lib" path="C:/dev/poc/3rd_party/restlet-jse-2.0.10/lib/org.simpleframework_4.1/org.simpleframework.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

请注意,它们是使用绝对路径添加的,这与使用相对路径的其他条目不同,但这只是因为每次添加新的外部jars时我都会手动编辑此文件。

我的问题是,我能否以某种方式告诉Eclipse使用新添加的外部jars的相对路径?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-30 05:34:15

一种解决方案是不使用外部Jar,而是将您的Jar放入项目中,然后使用Add Jar(s)而不是Add external Jar(s)。

从源代码控制的角度来看,这是有意义的,您可以在需要时添加/删除依赖项。这也意味着,当您为一个单独的项目更新一个jar时,它不会影响这个项目。

我们在过去已经做到了这一点,我们有一个包含所有jars的单一项目,这些jars在其他项目的构建路径中被引用。

但是现在我们使用了maven,所以我们不再需要这样做了。

票数 21
EN

Stack Overflow用户

发布于 2011-11-30 05:32:37

在eclipse中,右键单击项目,选择属性,然后选择Java Build PathLibraries选项卡,并选择"Add Jars"...这将使用添加一个相对路径。"Add External JARs“将的jar添加到一个绝对路径,这不是您想要的。

票数 4
EN

Stack Overflow用户

发布于 2018-07-12 17:30:49

如果您的路径是相对于Eclipse安装的,那么使用“Add Variable…”声明它们。按钮(在项目→→Build Path→Libraries中)。在那里,应该为您提供一个名为ECLIPSE_HOME的变量,然后您可以扩展它。这将在您的.classpath中生成一个“kind=var”条目(而不是“kind=lib”)。

代码语言:javascript
运行
复制
<classpathentry kind="var" path="ECLIPSE_HOME/...

如果您的路径是相对于其他位置的,您可以声明自己的变量(配置变量)。这样,当您的工作空间发生变化或有人复制了它时,您只需更新这些变量。这通常比真正的以一个或两个点开头的相对路径更清晰。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8317957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档