2012-06-07 30 views
1

我已經在我的Windows機器上用Java編寫了一個應用程序,並且想要將它打包爲我的Mac。我知道JarBundler,並且最初我認爲它會是完美的,因爲我想用ProGaurd來混淆.jar,但是:當我混淆應用程序時,我遇到了與AboutHandlerQuitHandler在Mac上的問題。將一個可執行jar放到一個.app(for mac)中而不留下Jar的痕跡

我一直在環顧四周,我注意到Eclipse(IDE).app中沒有.jar文件,即使我相信它是用Java編寫的,所以這似乎是我需要的。唯一的問題是我不知道它是如何完成的,我希望你們中的一個能夠引導我。我已經讀過,Mac用戶確實傾向於擁有不同的思維方式,應用程序不會像以前那樣受到黑客入侵,而且我知道它仍然需要反編譯器才能閱讀源代碼,但是如果我能做到這樣的事情,我會而非喜歡。對我而言,我可以做的任何事情來幫助防止人們閱讀源代碼是一個優點,唯一的問題是由於某種原因混淆不是在玩球!

在此先感謝

+1

Eclipse有JAR文件,查看文件夾。他們只是使用啓動腳本/可執行文件來啓動該過程。 – Ewald

+0

只是爲了確保您知道:JAR文件不可執行。它只是一個存檔,例如一個zip文件。可執行文件是JAR中的.class文件。如果您將它們放在.app文件夾中,.class文件仍然存在。 – Hassan

+0

@Ewald當然是的,我忽略了這一點。但我的問題仍然適用,只需忽略Eclipse部分:) – Andy

回答

0

不幸的是這是不可能的。這是我粗心的錯誤,Eclipse管理這個時候,實際上它只是一個本地啓動器,並且Ewald和Edvin Syse正確指出的.jar文件存儲在其他地方。

所以我想我的問題的真正答案是「你不能」。只要你使用Java,你將不得不與jar一起生活,那就是它的結局。但說實話,我認爲互聯網的發展並不是那麼糟糕。一個exe與「黑客」一樣容易解構,因爲jar是「Java黑客」等,這是你必須忍受的。

但事實上,你必須考慮任何你真正關心黑客入侵軟件的觀衆的機率。是否真的值得所有這些壓力和艱苦的工作只是爲了增加一層額外的保護措施,而這些保護措施只會讓黑客受挫並使他們更加堅定呢?

+0

除非我誤解你是什麼'試圖完成,我認爲這將做你想要的:[JarSplice](http://ninjacave.com/jarsplice)。它允許你從普通的jar中創建一個可執行的jar文件,然後將其轉換爲.app文件。 –

+1

@ 0x783czar我認爲你誤會了,但是無論如何謝謝你。我想將我的應用程序轉換爲'.app'文件,而不需要在應用程序中保存原始的'jar',將其有效地轉換爲本機代碼 – Andy

+0

哦,我現在看到了。是的,我當然誤解了。 –

1

Eclipse的IDE使用本機發射,但手離開初始啓動後控制到Java。 IDE本身確實是用Java編寫的。

AboutHandlerQuitHandler碰到什麼問題?

+0

感謝您的回答。請在這裏看到我的問題:http://stackoverflow.com/questions/10896799/com-apple-eawt-application-not-working-after-obfuscation如果你可以幫助那將是偉大 – Andy