2012-07-26 8 views
10

EclipseでJavaコードを作成し、それを実行可能な.jarファイルとして保存するとします。コードは100%自己記述型なので、他のソースからのインポートはありません。実行可能なjars(Eclipse経由)に追跡情報が含まれていますか?

.jarファイル(ファイルヘッダー、..)には、私のPCまたは私のEclipseバージョンに関する私的なデータが入っていますか?

+1

はなぜそれを開くと見えないのだろうか? .classファイルについて心配する必要はありません。クラスパスの絶対パスをハードワイヤリングしない限り、答えは「いいえ」であることがわかります。 – duffymo

+0

jarファイルのマニフェストを確認します。それがあれば、そのような情報を含むべき唯一の場所です。 –

答えて

13

うん、潜在的に自動生成マニフェストファイル(jarファイル:META-INF/MANIFEST.MF)があるあなたは、少なくともユーザ名を見ることができるように

ここでは、プラグイン

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

のデフォルト出力ですマニフェストファイルに追加

UPDATE:あなたはMavenを使用している場合、あなたは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

'built-by'はMavenによって追加されています。それは「標準」ではなく、Java自体によって要求されるものでもありません。 –

+0

良い点btw - ありがとう。それでもMETA-INF/MANIFEST.MFを確認する価値があります。 –

+0

本当にありがとうございます。ユーザー名だけがデフォルトで追加されていれば、Javaプログラミングはプライバシー保護されているはずです。 – Tom

0

実行可能なjarを作成するときに、これらのもののいずれかがメタデータとして設定されていると、私は驚いています。

0

あなたの実行可能jarファイルにのみresourcesdependent librariesとその中のファイルmanifest.xml .....

関連する問題