2012-07-26 61 views
10

可以說我在Eclipse中編寫Java代碼,然後將其保存爲可運行的.jar文件。代碼是100%自寫的,所以不需要從其他來源進口。可運行jar包(通過Eclipse)包含跟蹤信息嗎?

.jar文件(文件標題,..)中是否包含關於我的PC或我的Eclipse版本的私人數據?

+1

爲什麼不打開它,看到了什麼?你不必關心.class文件。你會發現答案是「否」,除非你在你的類路徑中硬連接絕對路徑。 – duffymo 2012-07-26 12:19:10

+0

檢查jar文件中的清單。它是唯一應該包含這些信息的地方。 – 2012-07-26 12:21:17

回答

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

Maven添加了'內置'東西。它不是「標準」或Java本身所要求的。 – 2012-07-26 12:22:22

+0

好點btw - 謝謝。但仍然值得檢查META-INF/MANIFEST.MF – 2012-07-26 12:26:54

+0

非常感謝您,如果僅默認添加用戶名,那麼Java編程就像隱私安全一樣。 – Tom 2012-07-26 12:48:59

0

如果在創建可運行jar時將這些內容中的任何一項設置爲元數據,我會感到驚訝。

0

你運行的JAR只會有resourcesdependent librariesmanifest.xml文件吧.....

相關問題