从 Mac OS X 的下一个版本开始,Java 将不再包含在系统中,我不想强迫我的客户自己安装它。所以我想做我在 Windows 上所做的事情 - 将它与我的应用程序捆绑在一起。它也给了我一些希望,它可以被包含在 Mac App Store 中。
我可以在哪里下载可以包含在我的应用程序中的 Mac OS X JRE?或者我可以只复制安装在我的 Mac 上的那个吗?
最佳答案
更新(2013 年 4 月 15 日):
正如 Thorbjørn 有用地指出的那样,Oracle 现在有一个解决方案。见 http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html .但是,出于“历史目的”,我保留了原始内容,因为这是一个有趣的研究项目。
以前的版本(有修改):
这是一个很好的问题。我打算回应说你只是领先于你的时代——正如你所指出的,Java 在 Lion 发布之前不会被删除。但是,this article明确表示今天不允许使用 Java:
Apps that use deprecated or optionally installed technologies (e.g., Java, [PowerPC code requiring] Rosetta) will be rejected.
与此同时,还没有人宣布针对 Mac OS X 的可再分发 JRE。我认为您最好的选择是查看 Mac OS X Port wiki page,记住您正在开拓新领域。的 OpenJDK 项目。它确实描述了如何编译您自己的 JDK,但它确实没有明确说明生成的 JDK 是否可以干净地“捆绑”。我认为您将不得不尝试一下,看看:-(。
此外,尚不清楚 OpenJDK 许可是否允许这样做 (IANAL)。希望其他人已经在 Linux/Windows 方面弄清楚了这一点,尽管 Apple 贡献的规则当然可能不同。
希望这会有所帮助。如果不出意外,这是一个起点。
编辑:我将提出一个额外的建议。我们现在知道 Mono apps can be packaged for the App Store .此外,IKVM.NET是运行在 Mono 之上的 Java 的完整实现。理论上,您可以尝试将这两个部分放在一起,并获得一个 Java 应用程序,该应用程序捆绑在 App Store 中,实际上不需要需要 JRE!
如果你试试这个,我很想听听效果如何:-)。
编辑 2: 不幸的是,App Store 和 GPL 似乎不兼容(参见 http://www.zdnet.com/blog/open-source/no-gpl-apps-for-apples-app-store/8046)。 OpenJDK 许可证与 GPL 并不完全相同,但它非常接近(再次,IANAL)。因此,Mono 和 IKVM.NET 可能是您最好的选择。祝你好运!
关于macos - 在 Mac OS X 上捆绑私有(private) JRE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4699043/
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
假设您编写了一个类Sup,我决定将其扩展为SubSup。我不仅需要了解你发布的接口(interface),还需要了解你的私有(private)字段。见证这次失败:classSupdefinitialize@privateField="fromsup"enddefgetXreturn@privateFieldendendclassSub问题是,解决这个问题的正确方法是什么?看起来子类应该能够使用它想要的任何字段而不会弄乱父类(superclass)。编辑:equivalentexampleinJava返回"fromSup",这也是它应该产生的答案。 最佳答案
在ruby中,你可以这样做:classThingpublicdeff1puts"f1"endprivatedeff2puts"f2"endpublicdeff3puts"f3"endprivatedeff4puts"f4"endend现在f1和f3是公共(public)的,f2和f4是私有(private)的。内部发生了什么,允许您调用一个类方法,然后更改方法定义?我怎样才能实现相同的功能(表面上是创建我自己的java之类的注释)例如...classThingfundeff1puts"hey"endnotfundeff2puts"hey"endendfun和notfun将更改以下函数定
我正在尝试获得良好的Ruby编码风格。为防止意外调用具有相同名称的局部变量,我总是在适当的地方使用self.。但是现在我偶然发现了这个:classMyClass上面的代码导致错误privatemethodsanitize_namecalled但是当删除self.并仅使用sanitize_name时,它会起作用。这是为什么? 最佳答案 发生这种情况是因为无法使用显式接收器调用私有(private)方法,并且说self.sanitize_name是显式指定应该接收sanitize_name的对象(self),而不是依赖于隐式接收器(也是
在Ruby类定义中,private关键字在以下场景中的作用域是什么:classFoodefbar_publicputs"public"endprivatedefbar_privateputs"private"enddefbar_public_2puts"anotherpublic"endendprivate是否只作用于bar_private?还是在bar_public_2上? 最佳答案 在您的例子中,bar_private和bar_public_2都是私有(private)的。那是因为这两种方法都在private关键字的“范围内”。
来自Java,我正在尝试在Ruby中实现LinkedList。我在Java中实现它的通常方法是有一个名为LinkedList的类和一个名为Node的私有(private)内部类,其中LinkedList的每个对象都作为Node对象。classLinkedListprivateclassNodeattr_accessor:val,:nextendend我不想将Node类暴露给外部世界。然而,通过Ruby中的这个设置,我可以使用这个访问LinkedList类之外的私有(private)Node类对象-node=LinkedList::Node.new我知道,在Ruby1.9中,我们可以使用
我指的是pubrailscasttutorial并已正确执行所有步骤,但在运行最后一个命令时,即rackupprivate_pub.ru-sthin-Eproduction为了架设faye服务器,我收到以下错误:/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile--thin(LoadError)from/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require'from/var/lib/gems/1.9.1/gems
您好,我正在尝试创建一个帮助程序,用于将ruby方法大量定义为私有(private)类方法。通常,可以通过使用private_class_method键工作将方法定义为私有(private)类方法。但我想创建一个以下样式的助手:classPersondefine_private_class_methodsdodefmethod_oneenddefmethod_twoendendend我计划通过以下方式动态定义它,但根本不起作用:classObjectdefself.define_private_class_methods&blockinstance_evaldoprivate&bl
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。关于您编写的代码问题的问题必须在问题本身中描述具体问题—并且包括有效代码以重现它。参见SSCCE.org寻求指导。关闭8年前。Improvethisquestion我是Rails的新手。我正在制作一个网络应用程序,我在其中使用nokogiri搜索不同的网站以从中提取文本。所以在Gemfile中,我写了require'nokogiri'和'open-uri',但是当我捆绑安装时我得到这个错误:Couldnotfindgem'open-uri(>=0)ruby'inthegemsavailableon