2012-06-07 23 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