2012-07-26 9 views
10

Diciamo che sto scrivendo codice Java in Eclipse e poi lo salvo come file .jar eseguibile. Il codice è scritto al 100%, quindi non importa da altre fonti.I jar eseguibili (tramite Eclipse) contengono informazioni di tracciamento?

Qualcosa nel file .jar (intestazioni di file, ..) contiene dati privati ​​sul mio PC o sulla mia versione di Eclipse?

+1

Perché non aprirlo e vedere? Non devi preoccuparti dei file .class. Scoprirai che la risposta è "no", a meno che tu non stacchi i percorsi assoluti nel tuo Percorso di classe. – duffymo

+0

Controlla il manifest nel tuo file jar. è l'unico posto che dovrebbe contenere tali informazioni, se non del tutto. –

risposta

13

sì, potenzialmente v'è un auto-generare file manifesto (jar: META-INF/MANIFEST.MF)

Ecco output predefinito di plug

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

Come si può vedere almeno il nome utente aggiunta al file manifest

UPDATE: se si utilizza Maven, si consiglia di configurare vaso Maven plug

<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

Il materiale 'built-by' è aggiunto da Maven. Non è "standard" o richiesto da Java stesso. –

+0

buon punto btw - grazie. ma vale comunque la pena di controllare META-INF/MANIFEST.MF –

+0

Grazie mille, se solo il nome utente viene aggiunto per impostazione predefinita, quindi la programmazione Java è sicura per la privacy come dovrebbe essere. – Tom

0

Sarei sorpreso se una di queste cose sia impostata come metadata quando si crea un jar eseguibile.

0

vostro vaso eseguibile avrà solo il resources, il dependent libraries e il file manifest.xml in esso .....

Problemi correlati