首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux上Java开发的通用实践是什么?

Linux上Java开发的通用实践是什么?
EN

Stack Overflow用户
提问于 2011-03-16 14:35:45
回答 6查看 6.5K关注 0票数 24

我正试图从Windows迁移到Linux,作为Java开发平台,虽然这种转换通常是无痛的,但有几点不确定点,我希望得到一些反馈。我正在运行openSUSE 11.4,但我可以了解其他发行版的工作原理。

  1. 您是从哪里安装JDK的?--这一款并不像大多数人想象的那样被剪干。OpenJDk 6可以在openSUSE存储库中使用,并且非常容易安装。然而,它现在是更新21,现在Oracle发布的版本是更新24。我习惯于在Windows中发出一点警告,通知我我的Java需要更新,但这似乎并不是Linux中的标准。Java开发人员是否放弃了包管理器中的JDK并直接安装二进制文件?还是有别的办法?
  2. 您在哪里安装似乎在网上达成了一种普遍的共识,即只要下载二进制文件并将其解压缩到某个地方,就可以安装Eclipse,但我通常在哪里提取像Eclipse或Ant这样的程序呢?我在网上看到了支持/usr/local和/opt的投票,但没有明确的答案。
  3. --您把Jetty/Tomcat放在哪里?类似于eclipse问题,大多数Linux开发人员把他们的Jetty/Tomcat/其他容器放在哪里?
  4. 设置开发与生产的方式有哪些不同,至少我似乎不想将servlet容器作为根运行,这对我来说是有意义的。但我还应该注意其他什么做法呢?还有什么可以使我的开发环境更容易,但可能更不安全吗?

我发现这个问题是相似的,但最终太高了,并且没有详细说明实际开发人员是如何设置他们的环境的。如果你觉得还有其他资源可以回答这些问题,请在这里分享。

耽误您时间,实在对不起。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-17 13:36:05

Q>您从哪里安装JDK?

A> --我从不理会其他来自Sun/Oracle的JDK,主要是因为我们的产品只有通过认证才能使用Sun/Oracle。在我的桌面上,我运行Kubuntu,但是我从来没有使用apt-get,但总是手动下载它们。原因:

  • 发行版维护人员很少急于升级软件包,因为他们最关心的是让依赖的应用程序(如OpenOffice)工作。如果JDK从1.6.0_20更改为1.6.0_21,他们根本不在乎。我可能会这么做,因为更新的补丁可能有一个重要的all,或者我只是想尝试一下,如果我的应用程序仍然通过所有的单元测试。
  • 保留旧的JDK版本可能是一场噩梦。我们仍然支持我们的产品的旧版本,如果我升级到一个更新的Kubuntu,我无法保证一些古老的JDK仍然可以作为一个包使用。
  • 我不确定某些发行版甚至支持在同一台机器上存在多个JDK。

我的首选是将所有JDK/JRE保存在/opt中,并与最新的或我最需要的一个建立一个符号链接。我只是不明白为什么手动安装JDK是个问题。

我还将PATH设置为最新的JDK/JRE。

同样的事情(和类似的参数)也适用于AntMaven

Q>您在哪里安装Eclipse?

A> I使用IntelliJ,但同样适用。我将IDE存储在我的主文件夹中。这让我可以有不同的版本,不需要sudo来更新它们等等。我也可以在/opt中安装它,但我想我是在每周下载和测试最新的IntelliJ IDEA EAP时养成这个习惯的,这样我就可以快速删除旧版本,并且不会污染/opt。最后,其他程序可能需要Ant/Maven/JDK,但只有我才使用IntelliJ,因此采用了不同的方法。

Q>你把你的Jetty/Tomcat放哪儿了?

A> --在/home下面有一个单独的文件夹tomcats,其中有10个不同的Tomcat实例。每个Tomcat都用于我的应用程序的不同版本(我们用我们的应用程序捆绑Tomcat)。这是必要的,因为我们的应用程序的一个部署可以有不同的Tomcat设置(甚至版本)与另一个。

Q>您设置开发和生产的方式有哪些不同?

A> --这很大程度上取决于你的应用程序。例如,我们需要一些分区具有较低的访问延迟,但具有较少的空间(例如,Lucene索引的千兆字节),而另一些分区则可能具有较高的延迟,但需要更多的空间(例如,内容存储库的to )。然而,我们设计我们的应用程序,使所有这些不同的方面可以驻留在不同的分区是可配置的。有些分区需要有特殊的限制(例如文件上传),这样就不会使其他分区溢出。对于这个问题,没有简单的一对一的答案,但是很明显,对于一个开发环境来说,这些问题中的大多数并不重要。

票数 7
EN

Stack Overflow用户

发布于 2011-03-17 13:56:09

您从哪里安装JDK?

我自己使用Arch,存储库本身包含oracle /jre。因此,如果发行版存储库具有oracle /jre,则使用它从oracle本身获取它。

您在哪里安装Eclipse?

同样,上述同样的答案也适用于此。但是,如果发行版有任何问题,我总是将我的自定义安装放在/opt/ - /opt/java、/opt/eclipse、/opt/netbeans等等。我不会在我的主文件夹中安装东西(除非在其他地方没有权限的情况下),因为这意味着其他用户需要访问我的主文件夹才能运行这些东西。我不想让生产(或开发)东西直接进入我的家。

你把你的Jetty/Tomcat放哪儿了?

上述同样的答案也适用于此。只有在我安装了多个版本的情况下,我才创建一个/opt/实验性/并在那里安装,这样我才知道我的产品正在运行哪个版本,在不再需要时可以删除哪个版本。

您设置开发与生产的方式有哪些不同?

如果可能的话,我总是为生产和开发工作设置不同的机器。不同的计算机,但完全相同的设置。唯一能够将代码推送到生产系统的系统是开发组中的系统。在不可能实现这种隔离的情况下,我更愿意为服务器安装不同的设备,这样在我调整开发配置时,我的主服务器就不会崩溃什么的。此外,开发设置通常包括一个clean_up脚本,使其可以用于生产(对db帐户取消不必要的特权,清理等等)。

拥有任何东西,安装,只需确保您有不同的数据库设置用于开发和生产目的。

票数 3
EN

Stack Overflow用户

发布于 2011-03-17 06:03:22

Java的Sun版本位于nonOSS磁盘(到这里向下滚动以获得ISO)上,这是一个额外的磁盘映像,而不是主要安装磁盘ISO的一部分(或者您可以从这里中提取RPM)。

就eclipse而言,如果我在系统级别安装,我倾向于将其放在/opt中。您可能需要阅读这篇文章关于如何最好地处理插件。

(不要让他们把你从openSUSE上引开,这是KDE最好的发行版。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5326816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档