2012-07-26 8 views
10

Powiedzmy, że piszę kod Java w Eclipse, a następnie zapisz go jako działający plik .jar. Kod jest w 100% napisany samodzielnie, więc nie ma importu z innych źródeł.Czy uruchamiane słoiki (za pośrednictwem Eclipse) zawierają informacje o śledzeniu?

Czy w pliku .jar (nagłówki plików itp.) Znajdują się prywatne dane na temat mojego komputera lub wersji Eclipse?

+1

Dlaczego nie należy go otworzyć i zobaczyć? Nie musisz się martwić o pliki .class. Przekonasz się, że odpowiedź brzmi "nie", chyba że utworzysz bezwzględne ścieżki w ścieżce klasy. – duffymo

+0

Sprawdź manifest w pliku jar. to jedyne miejsce, które powinno zawierać takie informacje, jeśli w ogóle. –

Odpowiedz

13

yep, potencjalnie istnieje automatycznie wygenerować plik manifestu (jar: META-INF/MANIFEST.MF)

Oto domyślne wyjście wtyczki

Manifest-Version: 1.0 
Built-By: borisov andrey 
Build-Jdk: 1.7.0_05 
Created-By: Apache Maven 
Archiver-Version: Plexus Archiver 

Jak widać przynajmniej nazwa_użytkownika dodane do pliku manifestu

UPDATE: jeśli używasz Maven, możesz skonfigurować wtyczki Maven Jar

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>${maven-jar-plugin-version}</version> 
     <inherited>true</inherited> 
     <executions> 
     <execution> 
      <goals> 
      <goal>test-jar</goal> 
      </goals> 
     </execution> 
     </executions> 
     <configuration> 
     <archive> 
      <manifestEntries> 
      <Created-By>${java.version} (${java.vendor})</Created-By> 
      <Built-By>ME</Built-By> 
      <Implementation-Title>${project.name}</Implementation-Title> 
      <Implementation-URL>SOME URL if you want</Implementation-URL> 
      <Implementation-Version>${project.version}</Implementation-Version> 
      <Implementation-Vendor>your company</Implementation-Vendor> 
      <Implementation-Vendor-Id>your vendore id</Implementation-Vendor-Id> 
      </manifestEntries> 
     </archive> 
     </configuration> 
    </plugin> 
+4

Kompilacja "zbudowany przez" jest dodawana przez Mavena. Nie jest "standardowa" ani wymagana przez samą Javę. –

+0

dobry punkt btw - dzięki. ale nadal warto sprawdzić META-INF/MANIFEST.MF –

+0

Dziękuję bardzo, jeśli domyślnie dodana jest tylko nazwa użytkownika, programowanie Java jest tak bezpieczne, jak powinno być. – Tom

0

Byłbym zaskoczony, gdyby którykolwiek z tych elementów został ustawiony jako metadane podczas tworzenia działającego słoika.

0

Twój runnable słoik będzie miał tylko resources The dependent libraries i plik w nim manifest.xml .....

Powiązane problemy