|
21 | 21 | ``` |
22 | 22 | 这样云引擎部署时会打包生成对应的 war 包。 |
23 | 23 |
|
24 | | -如果你需要进行本地调试,可以通过在 pom.xml 中增加 jetty plugin 来本地运行项目。具体的配置你可以参考我们的[实例代码] (https://github.com/leancloud/java-war-getting-started/blob/master/pom.xml)。 |
| 24 | +如果你需要进行本地调试,可以通过在 pom.xml 中增加 jetty plugin 来作为 Servlet 容器运行 war 包,具体的配置可以参考我们的 [示例代码](https://github.com/leancloud/java-war-getting-started/blob/master/pom.xml) 。但这样并不能直接使用类似于 `mvn jetty:run` 来启动应用,因为云引擎应用启动需要一些 [环境变量](#环境变量),否则无法完成初始化。 |
| 25 | + |
| 26 | +以下有几种方式可以本地启动: |
| 27 | + |
| 28 | +#### 命令行工具 |
| 29 | + |
| 30 | +命令行工具 [v1.3.2](https://github.com/leancloud/avoscloud-code-command/blob/master/changelog.md#v132) 及之后的版本支持云引擎 Java 应用的本地启动,并为 JVM 进程设置需要的环境变量,在项目根目录执行 `lean up`,根据提示输入 `appId`,`masterKey` 等信息,命令行工具会调用 `mvn jetty:run` 来启动应用。 |
| 31 | + |
| 32 | +**提示**:相对于其他启动方式,命令行工具有 [多应用管理](leanengine_cli.html#多应用管理) 功能,可以方便的切换不同应用环境。 |
| 33 | + |
| 34 | +#### 使用 Eclipse 启动应用 |
| 35 | + |
| 36 | +首先确保 Eclipse 已经安装 Maven 插件,并将项目以 `Maven Project` 方式导入 Eclipse 中,在 `Package Explorer` 视图右键点击项目,选择 `Run As` -> `Maven build...`,将 `Main` 标签页的 `Goals` 设置为 `jetty:run`,将 `Environment` 标签页增加一些列环境变量和相应的值: |
| 37 | + |
| 38 | +* LEANCLOUD_APP_ENV = development |
| 39 | +* LEANCLOUD_APP_ID = {{appid}} |
| 40 | +* LEANCLOUD_APP_KEY = {{appkey}} |
| 41 | +* LEANCLOUD_APP_MASTER_KEY = {{masterkey}} |
| 42 | +* LEANCLOUD_APP_MASTER_KEY = 3000 |
| 43 | + |
| 44 | +#### 命令行设置环境变量启动 |
| 45 | + |
| 46 | +可以使用类似下面的命令来启动应用: |
| 47 | + |
| 48 | +``` |
| 49 | +LEANCLOUD_APP_ENV=development \ |
| 50 | + LEANCLOUD_APP_ID={{appid}} \ |
| 51 | + LEANCLOUD_APP_KEY={{appkey}} \ |
| 52 | + LEANCLOUD_APP_MASTER_KEY={{masterkey}} \ |
| 53 | + LEANCLOUD_APP_MASTER_KEY=3000 \ |
| 54 | + mvn jetty:run |
| 55 | +``` |
25 | 56 | {% endblock %} |
26 | 57 |
|
27 | 58 | {% block ping %} |
@@ -96,7 +127,7 @@ Java 云引擎只支持 1.8 运行环境和 war 包运行 |
96 | 127 | <artifactId>leanengine</artifactId> |
97 | 128 | <version>0.0.1-SNAPSHOT</version> |
98 | 129 | </dependency> |
99 | | - </dependencies> |
| 130 | + </dependencies> |
100 | 131 | ``` |
101 | 132 |
|
102 | 133 | * 初始化:在正式使用数据存储之前,你需要使用自己的应用 key 进行初始化中间件: |
@@ -145,7 +176,7 @@ EngineRequestContext.getRemoteAddress(); |
145 | 176 | {% block get_env %} |
146 | 177 |
|
147 | 178 | ```java |
148 | | -String env = System.getenv("LC_APP_ENV"); |
| 179 | +String env = System.getenv("LEANCLOUD_APP_ENV"); |
149 | 180 | if (env.equals("development")) { |
150 | 181 | // 当前环境为「开发环境」,是由命令行工具启动的 |
151 | 182 | } else if (env.equals("production")) { |
@@ -174,19 +205,21 @@ if (env.equals("development")) { |
174 | 205 |
|
175 | 206 | {% block code_upload_file_sdk_function %} |
176 | 207 |
|
| 208 | +``` |
177 | 209 | @WebServlet("/upload") |
178 | 210 | @MultipartConfig |
179 | 211 | public class UploadServlet extends HttpServlet { |
180 | 212 |
|
181 | | - @Override |
182 | | - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { |
| 213 | + @Override |
| 214 | + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { |
183 | 215 | String description = request.getParameter("description"); // Retrieves <input type="text" name="description"> |
184 | 216 | Part filePart = request.getPart("iconImage"); // Retrieves <input type="file" name="file"> |
185 | 217 | String fileName = filePart.getSubmittedFileName(); |
186 | 218 | InputStream fileContent = filePart.getInputStream(); |
187 | 219 | // ... (do your job here) |
| 220 | + } |
188 | 221 | } |
189 | | -} |
| 222 | +``` |
190 | 223 | {% endblock %} |
191 | 224 |
|
192 | 225 | {% block cookie_session %} |
|
0 commit comments