gpt4 book ai didi

java - 对多个项目使用公共(public)源文件夹,并避免使用绝对路径

转载 作者:行者123 更新时间:2023-12-04 05:48:16 27 4
gpt4 key购买 nike

我需要有一个 lib-project (myLib) 和几个应该使用来自 myLib 的源代码的应用程序项目。我在配置 Eclipse 时遇到了麻烦。

所需的项目树是这样的:

myProject
/src
..some files..
/bin

myLib
/src
..some files..
/bin

现在我正在尝试配置 myProject的类路径,使其使用来自 myLib/src 的源.

如果我使用 Eclipse 的 GUI 添加链接源( UPD: 我以这种方式添加到源文件夹的链接:右键单击项目 -> 构建路径 -> 配置构建路径 -> 转到“源”选项卡-> 按下按钮“链接源...” -> 指定 myLib/src 的路径和文件夹名称:“ lib_src”),然后我得到 myLib/src 的绝对路径,即以下内容:

myProject/.classpath :
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="lib_src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>

myProject/.project :
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>data_manager__gui</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources>
<link>
<name>lib_src</name>
<type>2</type>
<location>/HERE/IS/FULL/PATH/TO/myLib/src</location>
</link>
</linkedResources>
</projectDescription>

正如我已经说过的,我需要避免使用绝对路径。所以,我需要路径 myLib/src要这样指定: ../myLib/src
然后我尝试手动指定 myLib/src 的路径,但如果我添加 .classpath 像这样的行:
<classpathentry kind="src" path="../myLib/src"/>

然后 Eclipse 认为 .classpath 完全损坏,并将其重置为以下空白默认值:
<classpath>
<classpathentry kind="src" path=""/>
<classpathentry kind="output" path="bin"/>
</classpath>

然后我尝试更改 中的路径.project 文件,但似乎 中完全不支持相对路径.project 文件:Eclipse 找不到我的 myLib/src ,我尝试了很多变种。

如何做到这一点?

最佳答案

我不确定您是如何添加项目引用的,但就我而言,路径是相对的。

这是.classpath一个名为 Adarsh 的项目它引用了另一个名为 raroscope 的 Java 项目.

<?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 combineaccessrules="false" kind="src" path="/raroscope"/>
<classpathentry kind="lib" path="geocoder-java-0.9.jar" sourcepath="geocoder-java-0.9-sources.jar"/>
<classpathentry kind="lib" path="commons-logging.jar"/>
<classpathentry kind="lib" path="gson-2.1.jar"/>
<classpathentry kind="lib" path="commons-lang.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

您应该右键单击您的项目 myProject ,选择 Java Build Path > Projects 并添加 myLib ( raroscope 这里)如下所示。

enter image description here

关于java - 对多个项目使用公共(public)源文件夹,并避免使用绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10410416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com