EclipseでJavaコードを作成し、それを実行可能な.jarファイルとして保存するとします。コードは100%自己記述型なので、他のソースからのインポートはありません。実行可能なjars(Eclipse経由)に追跡情報が含まれていますか?
.jarファイル(ファイルヘッダー、..)には、私のPCまたは私のEclipseバージョンに関する私的なデータが入っていますか?
EclipseでJavaコードを作成し、それを実行可能な.jarファイルとして保存するとします。コードは100%自己記述型なので、他のソースからのインポートはありません。実行可能なjars(Eclipse経由)に追跡情報が含まれていますか?
.jarファイル(ファイルヘッダー、..)には、私のPCまたは私のEclipseバージョンに関する私的なデータが入っていますか?
うん、潜在的に自動生成マニフェストファイル(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>
'built-by'はMavenによって追加されています。それは「標準」ではなく、Java自体によって要求されるものでもありません。 –
良い点btw - ありがとう。それでもMETA-INF/MANIFEST.MFを確認する価値があります。 –
本当にありがとうございます。ユーザー名だけがデフォルトで追加されていれば、Javaプログラミングはプライバシー保護されているはずです。 – Tom
実行可能なjarを作成するときに、これらのもののいずれかがメタデータとして設定されていると、私は驚いています。
あなたの実行可能jarファイルにのみresources
、dependent libraries
とその中のファイルmanifest.xml
.....
はなぜそれを開くと見えないのだろうか? .classファイルについて心配する必要はありません。クラスパスの絶対パスをハードワイヤリングしない限り、答えは「いいえ」であることがわかります。 – duffymo
jarファイルのマニフェストを確認します。それがあれば、そのような情報を含むべき唯一の場所です。 –