Java
关于
Java 是一个老牌的跨平台语言。Java 归属 Oracle 之后,开源社区各种力量角逐,并蓬勃发展,慢慢的出现多个 JDK 分支和各种有特色的应用程序服务器和中间件。
所以,Websoft9 的 Web Runtime 在设计时,充分考虑了这个因素,让用户有更多合适的选择。
环境选择与部署程序
Websoft9 提供的所有 Java 程序环境都运行了 JDK 或 JRE,即理论上都可以运行 Java 程序。
而大部分时候,用户需要运行 Java Web 程序,它的运行逻辑见下图:
如果是 Java Web 程序,那么就需要类似应用服务器等更多组件。
下面我们推荐根据实际场景做出最合适的选择:
- 如果运行一个包含 Web 服务器的 war 程序包,那么请选择 OpenJDK
- 如果运行一个不包含 Web 服务器的 war 程序包,那么请选择 Jetty,Tomcat,Tomee
- 如果只是构建并打包,请选择 Maven
📄️ Jetty
入门指南
📄️ Maven
入门指南
📄️ OpenJDK
部署网站
📄️ Tomcat
部署应用
📄️ TomEE
入门指南
通用指南
安装包管理工具
安装 maven, gradle 的范例:参考
版本切换
可以很方便的切换 docker 镜像版本,实现 Java 环境的切换。但需要考虑切换后,JDK 是否兼容您的应用 程序。
配置选项
- JDK 环境应用路径:/usr/src/app
- Jetty 环境应用路径:var/lib/jetty/webapps
- Tomcat 环境应用路径:/usr/local/tomcat
- Tomee 环境应用路径:/usr/local/tomee
- 命令行:java, javac, jar, jdeprscan 等
- Java 百科:Awesome Java
- 包管理器:maven, gradle
问题与故障
JDK 与 JRE 有什么区别?
JRE 是 JAVA 程序运行时,JDK 是 Java 开发者套件。JDK 包含了 JRE。
Java 应用程序启动过慢?
访问 Tomcat 报404 ?
原因:Tomcat 容器应用 路径中没有任何 app
方案:部署自己的 web 应用即可正常访问
Jetty 下 war 没解压解?
Jetty 环境下运行 war 包后,并没有在 war 包的路径下看到解压文件。
其实,这是正常的,因为 Jetty 会将 war 包解压到另外的路径中(与 Tomcat 不同)