ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
您可以按照下面的每一步从头开始构建一个应用程序,或者直接跳到最后浏览文章源码。当然你也可以使用大多数现有的Maven webapp项目。 #### **Jetty 和 Jetty Runner 是什么?** Jetty 是一个轻量级的 Java 应用程序 server。为应用程序的启动提供了一系列灵活的特性。其中一个比较灵活的特性就是可以使用嵌入式的Jetty,在 java-hello 代码中可以看到这种使用方式。另外一个好的特性就是 Jetty Runner本身就是一个jar文件。Jetty的每一次发布版本都会包含一个 Jetty Runner jar 文件。这个jar文件可以通过java命令配合war文件直接运行。例如下面的示例: ~~~ $ java -jar jetty-runner.jar application.war ~~~ Jetty Runner 会启动一个Jetty实例将war运行起来。 #### **创建应用程序** ~~~ $ mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp ... [INFO] Generating project in Interactive mode Define value for property 'groupId': : com.example Define value for property 'artifactId': : helloworld ~~~ (你可以使用任意的 groupId 或 artifactId)。执行完上面的命令后,helloworld目录会生成一个完帐的Java web 应用。 #### **配置Maven下载Jetty Runner** pom.xml文件是Maven进行工作的主要配置文件。在这个文件中我们可以配置Maven项目的groupId、artifactId和version等Maven项目必须的元素;可以配置Maven项目需要使用的远程仓库;可以定义Maven项目打包的形式;可以定义Maven项目的资源依赖关系等等。 在这一步我们以依赖插件的形式下载Jetty Runner包,将下面内容添加到您pom.xml的合适位置: ~~~ <build> ... <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.3</version> <executions> <execution> <phase>package</phase> <goals><goal>copy</goal></goals> <configuration> <artifactItems> <artifactItem> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-runner</artifactId> <version>9.3.3.v20150827</version> <destFileName>jetty-runner.jar</destFileName> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> </plugins> </build> ~~~ #### **运行程序** 先运行如下简单的命令构建应用程序: `$ mvn package` 然后通过java命令运行起来: `$ java -jar target/dependency/jetty-runner.jar target/*.war` 就这么简单,你的应用程序已经运行并监听8080端口 >#### **说明** >如果你需要在启动应用之前展开WAR文件,需要在启动命令的 target/*.war选项之前添加 --expand-war ### **将应用部署到好雨云平台** #### **创建 Procfile文件** 您需要在项目跟目录创建 Procfile 文件来描述如何启动您的应用程序,该文件只是一个简单的文本文件,通过如下方式将启动命令写到Procfile文件中: ~~~ cd helloworld echo "web: java \$JAVA_OPTS -jar target/dependency/jetty-runner.jar --port \$PORT target/*.war" > Procfile ~~~ >**注意** >$JAVA_OPTS 与 $PORT 变量必须添加,否则程序无法在平台上跑起来。 #### **可选的 JDK 版本** 平台默认会使用 OpenJDK 1.8 如果您想使用1.7版本,可以通过system.properties文件设置java.runtime.version=1.7选项, system.properties文件的内容类似如下格式: ~~~ java.runtime.version=1.7 ~~~ 您可以指定 1.6, 1.7, 或 1.8 (1.8 beta版本) 分别对应 Java 6, 7, 或 8 #### **将更改提交到git** ~~~ $ git init $ git add . $ git commit -m "Ready to deploy" ~~~ #### **创建应用** 参见: `新建应用文档` #### **提交代码** ~~~ # 下面的地址根据用户的情况自行更改 $ git remote add origin http://code.goodrain.com/app/项目名称.git $ git push -u origin master ~~~ 更多关于提交代码的文档参见: git提交代码 #### **一键部署** 参见: 新建应用-一键部署文档 #### **访问应用** 直接点击 应用概览页的 “访问” 按钮,打开应用首页 ####**示例代码** 如果您想跳过应用的创建步骤,可以直接克隆我们的示例代码: ~~~ $ git clone http://code.goodrain.com/demo/java-jetty-runner.git ~~~