2012-07-26 34 views
10

Cho phép nói rằng tôi đang viết mã Java trong Eclipse và sau đó lưu nó dưới dạng tệp .jar có thể chạy. Mã này là 100% tự viết, do đó không nhập khẩu từ các nguồn khác.Các lọ có thể chạy được (thông qua Eclipse) có chứa thông tin theo dõi không?

Có gì trong tệp .jar (tiêu đề tệp, ..) lưu giữ dữ liệu cá nhân về PC hoặc phiên bản Eclipse của tôi không?

+1

Tại sao không mở nó ra và nhìn thấy? Bạn không cần phải lo lắng về các tệp .class. Bạn sẽ thấy rằng câu trả lời là "không", trừ khi bạn có đường dẫn tuyệt đối trong đường dẫn lớp của bạn. – duffymo

+0

Kiểm tra tệp kê khai trong tệp jar của bạn. đó là nơi duy nhất có chứa thông tin đó nếu có. –

Trả lời

13

vâng, có khả năng có một tính năng tự động tạo manifest file (jar: META-INF/MANIFEST.MF)

Dưới đây là đầu ra mặc định của plugin

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

Như bạn có thể thấy ít nhất Tên truy nhập thêm vào file manifest

UPDATE: nếu bạn đang sử dụng maven, bạn có thể muốn cấu hình maven jar Plugin

<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

Công cụ 'built-by' được thêm bởi Maven. Nó không phải là "chuẩn" hoặc được yêu cầu bởi chính Java. –

+0

điểm tốt btw - cảm ơn. nhưng vẫn có giá trị để kiểm tra META-INF/MANIFEST.MF –

+0

Cảm ơn bạn rất nhiều, nếu chỉ có tên người dùng được thêm vào theo mặc định thì lập trình Java là bảo mật riêng tư như nó phải. – Tom

0

Tôi sẽ ngạc nhiên nếu bất kỳ thứ nào trong số đó được đặt làm siêu dữ liệu khi tạo ra một cái bình chạy được.

0

jar Runnable của bạn sẽ chỉ có resources, các dependent librariesmanifest.xml tập tin trong nó .....

Các vấn đề liên quan