2013-04-28 11 views
8

Chciałbym użyć zmiennej środowiska klasy Eclipse, aby rozwiązać dołączony źródłowy plik JAR dla biblioteki w mojej ścieżce klas. Jest to zawartość mojego obecnego ".classpath" pliku w Elcipse (Indigo):Czy zmienna classpath Eclipse służy do zamiany bezwzględnej ścieżki "sourcepath"?

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry exported="true" kind="lib" path="lib/ApacheCommons/commons-logging.jar"/> 
    <classpathentry exported="true" kind="lib" path="lib/Spring-WS/spring-ws-1.5.8-all.jar"/> 

    <!-- [other entries] --> 

    <classpathentry kind="output" path="bin"/> 
</classpath> 

Kiedy teraz dodać plik JAR źródłowy dla "spring-ws-1.5.8-all.jar", w " .classpath”Pliki treść brzmi:

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry exported="true" kind="lib" path="lib/ApacheCommons/commons-logging.jar"/> 
    <classpathentry exported="true" kind="lib" path="lib/Spring-WS/spring-ws-1.5.8-all.jar" 
    sourcepath="D:/dev/sources/spring-ws-1.5.8-sources.jar"/> 

    <!-- [other entries] --> 

    <classpathentry kind="output" path="bin"/> 
</classpath> 

Jak widać, Eclipse dodał«SourcePath»atrybut do«classpathentry»element bezwzględną ścieżkę.

Teraz mój pomysł polega na zastąpieniu ścieżki bezwzględnej ze ścieżki klasy zmiennej „SOURCE_PATH”, który jest prawidłowo ustawiony na „D:/dev/źródła”.

(Proszę, nie pytaj dlaczego mamy taką konfigurację lub zaproponować musimy to zmienić, jest to stary projekt, a my nie jesteśmy niestety w stanie/może zmienić strukturę kompilacji).

Próbowałem

sourcepath="SOURCE_PATH/spring-ws-1.5.8-sources.jar" 

jak również

sourcepath="${SOURCE_PATH}/spring-ws-1.5.8-sources.jar" 

ale oba warianty nie działają.

I wydaje się, że mogę użyć złą składnię lub nie rozumiem koncepcję zmiennych ścieżki klasy. Może zmiennej classpath nie można użyć dla atrybutu "sourcepath"?

Bardzo dziękuję za pomoc!

Odpowiedz

0

Można użyć numeru symbolic link. System Windows obsługuje również ścieżki rozpoczynające się od /. To zależy od napędu. Wypróbuj cd / w wierszu polecenia, aby zweryfikować.

+0

Dzięki za odpowiedź, to może być rozwiązanie, albo bardziej obejście. Ale raczej chciałbym poznać poprawny sposób użycia tych zmiennych typu classpath. –

5

mogę nie zrozumieć pytanie całkowicie, ale to brzmi jak ty dodany plik jar z bezwzględną ścieżkę na początku. Zamiast tego dodaj go ze zmienną ścieżki klas.

wykorzystać właściwości projektu, wybierz Java Build Path opcję. Następnie kliknij zakładkę Libraries. Następnie Add Variable.... Jeśli jeszcze nie utworzyłeś zmiennej ścieżki klasy SOURCE_PATH, możesz to zrobić tutaj, klikając przycisk Configure Variables... (tylko skrót do właściwego ustawienia preferencji obszaru roboczego). Po skonfigurowaniu powinieneś zobaczyć zmienną ścieżki klasy SOURCE_PATH w polu u góry. Możesz kliknąć, aby rozszerzyć do Extend... go do podfolderu lub pliku jar.

1

Korzystanie odpowiedź Tod jest wyżej, jeśli masz dużo słoików w wielu projektach, może się okazać, że łatwiej bezpośrednio edytować pliki .classpath. Korzystanie zmienną Path kompilacji Java w .classpath zmienia referencję:

<classpathentry kind="lib" path="/full/pathTo/Jar.jar"/> 

do:

<classpathentry kind="var" path="NEW_PATH_VARIABLE/Jar.jar"/> 
Powiązane problemy