2012-12-19 8 views
23

To jest plik eclipse .classpath pobranego programu wtyczki Eclipse.Interpretowanie pliku .classpath pliku Eclipse. Co oznacza "kind =" con "" i "exported =" true "?

Myślę, że kind="src" i kind="output" jest dość prosty, ponieważ oznacza, gdzie znajdują się źródłowe pliki java i skompilowane pliki klas.

Wydaje się, że kind="lib" wskazuje pliki jar, do których odwołuje się wtyczka, ale mam coś, czego nie jestem pewien.

  • Co oznacza kind="con"?
  • Co to jest dla exported="true"? Myślę, że aby korzystać z tej wtyczki, wszystkie pliki JAR, do których odnosi się wtyczka, powinny zostać wyeksportowane, ale tylko niektóre z nich są eksportowane.

enter image description here

Odpowiedz

19

1) W kind="con" The con oznacza pojemnik, który jest interpretowany przez Eclipse jako classpath container. Jak opisano w tym linku:

ścieżkę klasy pojemnik zapewnia sposób pośrednio odwoływać się zestaw zapisów ścieżki klasy za pośrednictwem wejścia ścieżki klasy rodzaju CPE_CONTAINER

Innymi słowy, umożliwia grupowanie drugiej ścieżce klasy wpisy w dowolny sposób i ponownie użyć go w dowolnym miejscu (w tym możliwość różnych wpisów dla różnych projektów).

2) exported: Say masz Projekt B to zależy od projektu C. Zależność jest zdefiniowana jako exported=true. Następnie inny projekt A, który zależy od projektu B, będzie miał także projekt C obecny na A "ścieżce klas.

+0

Następnie, domyślam się, że wyeksportowane biblioteki są tylko dla celów runtime. Mam na myśli, że gdy biblioteki nie są przywoływane w czasie wykonywania, nie trzeba ich eksportować. – prosseek

+0

@prosseek dobrze, podobnie jak każdy plik 'class' ... Jeśli jednak chcesz użyć biblioteki w _code_ swojego projektu' A', potrzebujesz go również w czasie kompilacji, ale dzieje się to zwykle, gdy cały projekt zostanie uruchomiony. A', 'B' i' C' są twoje, a nie jakaś trzecia strona. – yair

+1

@prosseek, gdy 'B' jest stroną trzecią, zazwyczaj eksportuje swoje zależności, gdy nie można zagwarantować, że dependecy będzie obecna w ścieżce klasy klienta, która używa strony trzeciej. Jeśli korzystanie z tej strony trzeciej nie wymaga konkretnej zależności, którą eksportuje, może zostać wykluczone. – yair

7
  • rodzaj = „con” są wskazaniem classpath containers
  • eksportowane = true eksportu zależność, co oznacza, że ​​każdy projekt, który ma depedency na projekt można zobaczyć/dostęp eksportowane zależności jak dobrze.
+0

Przerwane łącze "pojemniki classpath" – chrish

Powiązane problemy