Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
商业发行的Java许可_Java_Licensing_Distribution_Software Distribution - Fatal编程技术网

商业发行的Java许可

商业发行的Java许可,java,licensing,distribution,software-distribution,Java,Licensing,Distribution,Software Distribution,我正在考虑用Java编写一个程序,也许有一天我会尝试去销售。我是Java新手,所以我不得不问,我需要什么类型的工具/软件/等等(从开发到发布,再到用户机器上的用户友好安装),这些工具/软件/等等必须有许可证,以确保它们允许销售和封闭源代码,等等 我们是否应该假设用户已经运行了至少一个Java应用程序,因此在他们的机器上有一个相当新的Java版本? 另外,您是否对特定工具有任何建议,这些工具绝对适合此用途?这是一个很难回答的问题,因为用户的需求和偏好各不相同 但我要告诉你一个切入点。使用ECLIP

我正在考虑用Java编写一个程序,也许有一天我会尝试去销售。我是Java新手,所以我不得不问,我需要什么类型的工具/软件/等等(从开发到发布,再到用户机器上的用户友好安装),这些工具/软件/等等必须有许可证,以确保它们允许销售和封闭源代码,等等

我们是否应该假设用户已经运行了至少一个Java应用程序,因此在他们的机器上有一个相当新的Java版本?
另外,您是否对特定工具有任何建议,这些工具绝对适合此用途?

这是一个很难回答的问题,因为用户的需求和偏好各不相同

但我要告诉你一个切入点。使用ECLIPSE作为IDE来开发Java代码。这是一个开源软件,所以你不需要任何许可证。当你在做你的项目时,你需要各种各样的工具来做各种各样的事情。幸运的是,大多数基本功能都是作为eclipse插件实现的。您可以分别将它们添加到eclipse中


随着时间的推移,您将获得经验,您将拥有足够的知识来切换到必要的工具等进行开发,您可能需要一个IDE。排名靠前的是:

  • Eclipse(大多数功能)
  • IntelliJ(非免费)
  • Netbeans(最容易学习,imo)
  • 其他几个受欢迎程度低得多的人
对于一个免费的安装程序,我已经有了最好的IzPack体验,但是还有其他可用的。同样,要转换为.exe以便轻松启动,我建议启动4j


我认为假设用户安装了Java是不安全的。很多人会,但是版本会有很大的差异,少数不这样的版本会导致问题。显然,这可能因您的目标受众(以及您对他们的控制程度)而异。

对于跨平台分发,您可能希望了解launch4j:

此外,您可能还希望混淆和优化代码,因此可以使用ProGuard:

对于您的开发,请使用任何可用的开源工具,例如eclipse或netbeans,甚至是带有jdee的emacs

您不应该假设用户拥有Java,而是将Java的一个版本打包到您的应用程序中


对于安装,您可能需要搜索一些开源解决方案,我所知道的唯一一个是install4j,它是商用的

很少看到任何开发工具限制您使用使用它们创建的软件的方式。唯一的例外是库,这不是标准Java库的问题。工具、IDE等等——不管它们是否免费——都不会影响您如何分发代码

还有一些奇怪的例外,比如BitKeeper源代码控制软件,其许可证禁止任何人使用它来尝试创建可能与BitKeeper竞争的软件——这就是为什么我建议尽可能远离这件事以及背后的公司。最后,如果你想在法律上完全清楚,你必须雇佣一名律师,让他检查你在开发过程中使用的所有软件的许可证和EULA,因为类似的东西


一些特定的数据点:Java本身是可以的(包括编译器和库);Ant和Maven都很好;Eclipse和NetBeans也可以

我可以将Java打包到“install.exe”中吗?您应该将Java的安装作为安装过程的一部分。这并不意味着Java运行时应该“在”install.exe中,只从那里启动。从安装程序启动Java安装程序可能是最简单的。你应该检查用户是否安装了Java,如果他们确实安装了Java,那么你应该检查版本,这样如果你的打包版本比他们的旧,你就不会意外地降级他们。这似乎正是我想要的。谢谢我很确定BitKeeper最讨厌的一点是,他们的许可协议要求用户同意,无论他们是否在开发过程中使用BitKeeper,都不得以任何方式为BitKeeper创建任何类型的竞争产品。也许自从上次我读到关于这个主题的文章后,他们已经改变了。。。