可以說我在Eclipse中編寫Java代碼,然後將其保存爲可運行的.jar文件。代碼是100%自寫的,所以不需要從其他來源進口。可運行jar包(通過Eclipse)包含跟蹤信息嗎?
.jar文件(文件標題,..)中是否包含關於我的PC或我的Eclipse版本的私人數據?
可以說我在Eclipse中編寫Java代碼,然後將其保存爲可運行的.jar文件。代碼是100%自寫的,所以不需要從其他來源進口。可運行jar包(通過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>
Maven添加了'內置'東西。它不是「標準」或Java本身所要求的。 – 2012-07-26 12:22:22
好點btw - 謝謝。但仍然值得檢查META-INF/MANIFEST.MF – 2012-07-26 12:26:54
非常感謝您,如果僅默認添加用戶名,那麼Java編程就像隱私安全一樣。 – Tom 2012-07-26 12:48:59
如果在創建可運行jar時將這些內容中的任何一項設置爲元數據,我會感到驚訝。
你運行的JAR只會有resources
的dependent libraries
和manifest.xml
文件吧.....
爲什麼不打開它,看到了什麼?你不必關心.class文件。你會發現答案是「否」,除非你在你的類路徑中硬連接絕對路徑。 – duffymo 2012-07-26 12:19:10
檢查jar文件中的清單。它是唯一應該包含這些信息的地方。 – 2012-07-26 12:21:17