没有 Maven 且没有 Spring Boot 的 Vaadin 14
Vaadin 14 without Maven and without Spring Boot
我想在不使用 Maven 或 Spring Boot 的情况下创建 Vaadin 14 应用程序。只是一个带有嵌入式 Jetty 服务器的普通 Java 应用程序。这在过去是可能的。还有可能吗?
Vaadin 6.x 和 Jetty 的旧代码:
private static void initServer(Settings settings) throws Exception, InterruptedException {
httpPort = settings.getInt("webapp.port", 8888);
final Server server = new Server(httpPort);
final WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setResourceBase("WebContent");
webapp.setClassLoader(Thread.currentThread().getContextClassLoader());
server.setHandler(webapp);
server.start();
server.join();
}
是的,这是可能的,如果不使用构建工具(任何 java 构建工具。例如:maven、gradle、ant+ivy、leiningen,您有大量额外的工作要做, grape, buildr, bazel, 等等...),但这是可能的。
您将有许多 jar 需要管理,不仅在 Jetty 内,还有 Jetty 之外的依赖项(如各种规范 api jar)。
然后您需要对嵌入式码头的使用进行一些更改。
您需要进行的更改取决于您打算使用的 Jetty 版本。
- Jetty 9.x(Servlet 3.1 / Java EE 7)- https://github.com/eclipse/jetty.project/tree/jetty-9.4.x/examples/embedded
- Jetty 10.x (Servlet 4.0 / Jakarta EE 8) - https://github.com/eclipse/jetty.project/tree/jetty-10.0.x/demos/embedded
- Jetty 11.x(Servlet 5.0/Jakarta EE 9)https://github.com/eclipse/jetty.project/tree/jetty-11.0.x/demos/embedded
您将从 Jetty 6.x 开始,它适用于 Java EE 4 上的 Servlet 2.1。
从那时起,各种 EE 规范、HTTP 规范甚至 Java JVM 本身都发生了巨大的变化,导致 Jetty 发生了变化。
Vaadin 本身提供 several different example projects of Vaadin 14 with/without Spring 和不同的构建工具。 Gradle 通常用作 Maven 的替代品,可以在没有任何 CDI 的示例中找到普通的 Java 样式。
我想在不使用 Maven 或 Spring Boot 的情况下创建 Vaadin 14 应用程序。只是一个带有嵌入式 Jetty 服务器的普通 Java 应用程序。这在过去是可能的。还有可能吗?
Vaadin 6.x 和 Jetty 的旧代码:
private static void initServer(Settings settings) throws Exception, InterruptedException {
httpPort = settings.getInt("webapp.port", 8888);
final Server server = new Server(httpPort);
final WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setResourceBase("WebContent");
webapp.setClassLoader(Thread.currentThread().getContextClassLoader());
server.setHandler(webapp);
server.start();
server.join();
}
是的,这是可能的,如果不使用构建工具(任何 java 构建工具。例如:maven、gradle、ant+ivy、leiningen,您有大量额外的工作要做, grape, buildr, bazel, 等等...),但这是可能的。
您将有许多 jar 需要管理,不仅在 Jetty 内,还有 Jetty 之外的依赖项(如各种规范 api jar)。
然后您需要对嵌入式码头的使用进行一些更改。
您需要进行的更改取决于您打算使用的 Jetty 版本。
- Jetty 9.x(Servlet 3.1 / Java EE 7)- https://github.com/eclipse/jetty.project/tree/jetty-9.4.x/examples/embedded
- Jetty 10.x (Servlet 4.0 / Jakarta EE 8) - https://github.com/eclipse/jetty.project/tree/jetty-10.0.x/demos/embedded
- Jetty 11.x(Servlet 5.0/Jakarta EE 9)https://github.com/eclipse/jetty.project/tree/jetty-11.0.x/demos/embedded
您将从 Jetty 6.x 开始,它适用于 Java EE 4 上的 Servlet 2.1。 从那时起,各种 EE 规范、HTTP 规范甚至 Java JVM 本身都发生了巨大的变化,导致 Jetty 发生了变化。
Vaadin 本身提供 several different example projects of Vaadin 14 with/without Spring 和不同的构建工具。 Gradle 通常用作 Maven 的替代品,可以在没有任何 CDI 的示例中找到普通的 Java 样式。