2012-07-26 7 views
10

Digamos que estoy escribiendo código Java en Eclipse y luego lo guardo como un archivo .jar ejecutable. El código es 100% autodifundido, por lo que no importa de otras fuentes.¿Los archivos ejecutables (a través de Eclipse) contienen información de seguimiento?

¿Hay algo en el archivo .jar (encabezados de archivos, ..) que contenga datos privados sobre mi PC o mi versión de Eclipse?

+1

Por qué no abrirlo y ver? No necesita preocuparse por los archivos .class. Encontrarás que la respuesta es "no", a menos que establezcas rutas absolutas en tu Class-Path. – duffymo

+0

Compruebe el manifiesto en su archivo jar. es el único lugar que debe contener tal información, si es que lo tiene. –

Respuesta

13

sí, potencialmente hay un auto-generar archivo de manifiesto (jar: META-INF/MANIFEST.MF)

Aquí es salida por defecto del plugin de

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

Como se puede ver, al menos, nombre de usuario agregado al archivo de manifiesto

ACTUALIZACIÓN: si está utilizando Maven, es posible que desee configurar frasco experto complemento

<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

El material 'built-by' es agregado por Maven. No es "estándar" ni requerido por Java. –

+0

buen punto por cierto - gracias. pero aún vale la pena comprobar META-INF/MANIFEST.MF –

+0

Muchas gracias, si solo el nombre de usuario se agrega de forma predeterminada, entonces la programación Java es tan segura como debería ser. – Tom

0

Me sorprendería si alguna de esas cosas se establece como metadatos al crear un jar ejecutable.

0

Su frasco ejecutable solamente tendrá la resources, la dependent libraries y el archivo manifest.xml en ella .....

Cuestiones relacionadas