我试图从windows迁移到linux作为一个Java开发平台,虽然过渡一般是非常痛苦的,但有一些不确定的地方,我想一些反馈。 我正在运行openSUSE 11.4,但是我很乐意听听其他发行版的作用。
你从哪里安装JDK? 令人惊讶的是,这个人并不像大多数人所说的那样枯燥无味。 OpenJDK 6在openSUSE软件库中可用,并且安装非常简单。 然而,它现在是更新21,现在的Oracle版本是在更新24.我习惯了在windows中的一些警告通知我,我的Java需要更新,但在linux中似乎并不常见。 Java开发人员是否在他们的软件包pipe理器中放弃JDK并直接安装二进制文件? 还是有另一种方式?
你在哪里安装Eclipse? 在网上似乎有一个普遍的协议,最好安装Eclipse,只需下载二进制文件并将其解压到某个地方,但通常情况下,我会从Eclipse或Ant中提取一个程序? 我已经看到/ usr / local和/ opt在线的投票,但没有明确的答案。
你把你的Jetty / Tomcat放在哪里? 与eclipse问题类似,大多数linux Java开发人员将Jetty / Tomcat /其他容器放在哪里。
安装开发与生产的方式有什么区别?至less看起来我不想以root身份运行我的servlet容器,这对我来说是有意义的。 但是,我应该注意哪些其他做法? 还有什么可以使我的开发环境更容易,但可能不太安全?
我发现这个问题是相似的,但最终的水平太高,没有涉及到实际开发人员如何设置他们的环境的细节。 如果有其他资源,您可以回答这些问题,请在此分享。
谢谢你的时间。
在windows上使用Docker-Compose拒绝权限
针对Docker容器的Nginx反向代理
从Debian Snapshot Archives repo安装软件包?
Docker:无法运行存储在已安装卷中的shell脚本
无法使用Docker工具箱在主机(windows)IP上访问Docker VM上的Tomcat应用程序
Docker错误:无法find包git
Docker窗口加载内核模块
docker实例可以连接到一个特定的networking接口吗?
在docker上通过Nginx和gunicorn服务烧瓶
Docker错误:从Win10运行时找不到或不存在容器命令
Q>你从哪里安装JDK?
A>我从来不打扰来自Sun / Oracle以外的其他JDK,这主要是因为我们的产品只能通过Sun / Oracle JRE的认证。 在我的桌面上,我运行Kubuntu,但是我从来不使用apt-get ,但总是手动下载它们。 原因:
发行版维护者很少急于升级软件包,因为他们主要关心的是使依赖应用程序(如OpenOffice)正常工作。 如果JDK从1.6.0_20更改为1.6.0_21,他们根本就不在乎。 我可能会这样做,因为一个较新的补丁可能有一个重要的错误修正,或者我只是想尝试如果我的应用程序仍然通过所有的单元测试。
保留旧的JDK版本可能是一场噩梦。 我们仍然支持旧版本的产品,如果升级到更新的Kubuntu,我没有保证一些古老的JDK仍然可以作为一个包装。
我不确定有些发行版甚至支持在同一台机器上存在多个JDK。
我的首选是将所有JDK / JRE保存在/opt并为最新的或最需要的一个创建符号链接。 我只是不明白为什么手动安装JDK是一个问题。
我还将PATH设置为最新的JDK / JRE。
同样的东西(和类似的论点)适用于Ant和Maven 。
Q>你在哪里安装Eclipse?
A>我使用IntelliJ,但同样适用。 我将IDE存储在我的主文件夹中。 这允许我有不同的版本,更新它们而不需要sudo等。我可以把它安装在/opt但是我想我每周下载和测试最新的IntelliJ IDEA EAP时都有这个习惯,所以我可以快速删除旧版本,不要污染/opt 。 最后,其他程序可能需要Ant / Maven / JDK,但只有我使用IntelliJ因此是不同的方法。
Q>你把你的Jetty / Tomcat放在哪里?
A>我有一个单独的文件夹/home下的tomcat,我有~10个不同的Tomcat实例。 每个Tomcats都用于我的应用程序的不同版本(我们将Tomcat与我们的应用程序捆绑在一起)。 这是必要的,因为我们的应用程序的一个部署可以有不同的Tomcat设置(甚至是版本)。
Q>您设置开发与生产的方式有什么区别?
A>它非常依赖于你的应用程序。 例如,我们需要一些分区具有较低的访问延迟,但具有较少的空间(例如Lucene索引的千兆字节)VS可以具有较高延迟但需要更多空间的其他分区(例如,内容库的TB)。 然而,我们设计我们的应用程序,以便所有这些不同的方面可以驻留在不同的可配置的分区。 有些分区需要有特殊的限制(如文件上传),所以这不会溢出其他分区。 这个问题并没有简单的一对一的答案,但显然大多数这些问题对于开发环境来说并不重要。
你从哪里安装JDK?
我自己使用Arch linux,并且在仓库本身中有oracle jdk / jre。 因此,如果它有oracle jdk / jre,否则使用你的distro-repository从oracle本身获取它。
你在哪里安装Eclipse?
同样,上面的同样的答案也适用于此。 但是,如果发行版提供了任何问题,我总是把我的自定义安装在/ opt / – / opt / java,/ opt / eclipse,/ opt / netbeans等等。我不在我的主文件夹中安装东西除非在其他地方我没有权限的情况下 – 罕见),因为这意味着其他用户需要访问我的主文件夹来运行这些东西。 我不希望生产(或开发这个东西)的东西直接进入我的家。
你把你的Jetty / Tomcat放在哪里?
上面的答案同样适用于这里。 只有在安装了多个版本的情况下,我才创建一个/ opt / experimental /,然后在那里安装,以便知道我的产品正在运行哪一个版本,以及哪一个版本不再需要时可以删除。
安装开发与生产的方式有什么区别?
如果可能的话,我总是设置不同的机器进行生产和开发工作。 不同的电脑,但完全相同的设置。 唯一可以将代码推送到生产系统的系统是开发组中的那些系统。 在这种隔离不可能的情况下,我更喜欢为服务器安装不同的服务器,这样在调整开发配置的同时,我的主服务器不会崩溃。 另外开发安装程序通常会包含一个clean_up脚本,使其可以用于生产(为db账户删除不必要的特权,清理等)。
有什么,设置你会,只要确保你有不同的数据库设置为开发和生产目的。
用于openSUSE的Sun Java版本位于nonOSS磁盘上( 在此处向下滚动查看ISO ),这是一个额外的磁盘映像,不是主要安装磁盘ISO的一部分(或者您可以从此处获取RPM)。
就eclipse而言,如果我在系统级安装,我倾向于将其放在/ opt中。 您可能想阅读这篇文章 ,了解如何最好地处理插件。
(不要让他们把你引导到openSUSE,这是KDE IMO的最佳发行版。)
使用linux是一个很少手,然后你也使用的windows环境。 如果我是你,我会将发行版切换到RedHat或Ubuntu,我使用SUSE,并从切换后再也不会回头。
您可以将您的JDK / Eclipse / Tomcat二进制文件放在几个不同的地方。 如果你是唯一使用它们的人,我建议你把它们放在你的主目录下。 对于你的Eclipse / Tomcat的东西,你可以把它们放在本地的bin中,然后把这个本地的bin添加到你的.bashrc中的PATH中。 您还可以将JDK的位置设置为bash中的JAVA_HOME env变量。 如果你需要更多的具体帮助设置让我知道。
1)我们有OpenJDK(BUG等)的几个问题,所以我们总是使用太阳jdk。
2/3)生活在linux中的一个很好的规则就是在你的home文件夹下安装你的定制软件。 linux需要不时地重新安装,但是您的主文件夹中的所有内容都位于一个单独的磁盘分区中,因此它依然存在。 我总是安装/解压自定义软件,如eclipse到/ home / myuser / opt,所以我的日食生活在〜/ opt / eclipse。 我也将eclipse-binary链接到我的/ home / myuser / bin文件夹以方便访问。 当我升级或更改任何软件时,我只是重新连接符号链接。
4)生产和开发环境应尽可能接近完全相同。 这种由不同配置引起的错误负载
我创建一个/ usr / local / java目录,并在那里解压JDK,Eclipse,Maven,Ant,Groovy和Grails,然后创建符号链接到/ usr / local / bin。
总结
以上是内存溢出为你收集整理的Linux上Java开发的常见做法是什么?全部内容,希望文章能够帮你解决Linux上Java开发的常见做法是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容