2

1 つの lib-project (myLib) と、myLib のソースを使用するアプリ プロジェクトがいくつか必要です。Eclipse の構成に問題があります。

望ましいプロジェクト ツリーは次のようなものです。

myProject
   /src
      ..some files..
   /bin

myLib
   /src
      ..some files..
   /bin

今、私はmyProjectのクラスパスを設定して、 からのソースを使用できるようにしようとしていますmyLib/src

Eclipse の GUI を使用してリンク ソースを追加した場合 ( UPD:この方法でソース フォルダーへのリンクを追加しました:プロジェクトを右クリック->ビルド パス- > ビルド パスを構成- > [ソース] タブに移動-> [リンク] ボタンを押しますソース..." ->およびフォルダー名へのパスを指定: " "myLib/srclib_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 が my を見つけられませんmyLib/src。多くのバリアントを試しました。

これを達成する方法は?

4

2 に答える 2

3

プロジェクト参照をどのように追加したかはわかりませんが、私の場合、パスは相対パスです。

これは、という別の Java プロジェクトを参照.classpathする というプロジェクトのです。Adarshraroscope

<?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>

プロジェクトを右クリックし、[Java ビルド パス] > [プロジェクト] を選択して、以下に示すように(ここに) をmyProject追加する必要があります。myLibraroscope

ここに画像の説明を入力

于 2012-05-02T08:50:01.613 に答える
0

.projectファイル内のリンクされたリソースへのパスを次のように置き換えます。

<linkedResources>
    <link>
        <name>lib_src</name>
        <type>2</type>
        <locationURI>PARENT-1-PROJECT_LOC/myLib/src</locationURI>
    </link>
</linkedResources>

これPARENT-1は、Eclipseがライブラリディレクトリのプロジェクトディレクトリパスから1つのディレクトリを検索するようにする修飾子です。

于 2012-12-29T12:16:29.500 に答える