// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= 在 NetBeans IDE 中使用 Oracle Java SE 嵌入式支持
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: 在 NetBeans IDE 中使用 Oracle Java SE 嵌入式支持 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, 在 NetBeans IDE 中使用 Oracle Java SE 嵌入式支持

作者：Tomas Zezula 和 Alyona Stashkova

link:http://www.oracle.com/technetwork/java/embedded/overview/javase/index.html[+Oracle Java Standard Edition 嵌入式+]（Oracle Java SE 嵌入式）使用户能够为功能强大的嵌入式系统开发功能丰富、可靠且可移植的应用程序。NetBeans IDE 支持各种 Java SE 嵌入式功能，例如，印记、内存、电源、平台支持等。

在本教程中，您将了解如何在 NetBeans IDE 中开始使用 Java SE 嵌入式，以及如何使用 IDE 对 Java SE 嵌入式的支持。


image::images/netbeans-stamp.png[title="此页上的内容适用于 NetBeans IDE 8.0"]


*要学完本教程，您需要具备下表所列的软件和资源。*

|===
|软件或资源 |要求的版本 

|link:http://netbeans.org/downloads/index.html[+NetBeans IDE+] |版本 8.0 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java 开发工具包 (JDK)+] |版本 7 或 8 
|===


== 在 NetBeans IDE 中设置远程平台

在远程计算机上下载并安装 link:http://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html?ssSourceSiteId=otncn[+Oracle Java SE 嵌入式+]运行时之后（在本教程中，Raspberry Pi 用于演示目的），您需要按如下方式使用远程平台设置 NetBeans IDE：

* 在 NetBeans IDE 中激活 Java SE 功能
* 在 NetBeans IDE 中安装远程 Java SE 平台

*要在 IDE 中激活 Java SE 功能，请执行以下操作：*

1. 从 IDE 主工具栏中选择 "Tools"（工具）> "Plugins"（插件）。
2. 在 "Plugins"（插件）对话框中，单击 "Installed"（已安装）标签，并在可用功能列表中选择 "Java SE"。

[.feature]
--
image::images/plugins-small.png[role="left", link="images/plugins.png"]
--


[start=3]
. 单击 "Activate"（激活）。

[start=4]
. 在 "Installer"（安装程序）对话框的 "Welcome"（欢迎使用）面板上，单击 "Activate"（激活）。

[start=5]
. 在成功完成激活过程后，单击 "Finish"（完成）。

[start=6]
. 单击 "Close"（关闭）以关闭 "Plugins"（插件）对话框。

*要在 NetBeans IDE 中安装远程 Java SE 平台，请执行以下操作：*

1. 选择 "Tools"（工具）> "Java Platforms"（Java 平台）。
此时将显示 "Java Platform Manager"（Java 平台管理器）对话框。

[.feature]
--
image::images/jpmanager-small.png[role="left", link="images/jpmanager.png"]
--


[start=2]
. 单击 "Add Platform"（添加平台）。

[start=3]
. 在 "Add Java Platform"（添加 Java 平台）向导的 "Select Platform Type"（选择平台类型）中，选择 "Remote Java Standard Edition"（远程 Java Standard Edition）并单击 "Next"（下一步）。
IDE 将显示 "Add Java Platform"（添加 Java 平台）对话框。

[.feature]
--
image::images/addjp-small.png[role="left", link="images/addjp.png"]
--


[start=4]
. 指定远程平台的详细信息，例如，名称、设备的 IP 地址或 DNS 名称、登录名、口令以及远程设备上 JRE 的路径。

*注：*目标操作系统必须是 UNIX（不支持 Windows）。


[start=5]
. 单击 "Finish"（完成）。IDE 将通过执行探测来验证远程 JRE，并下载远程 JRE 系统属性。
"Java Platform Manager"（Java 平台管理器）对话框中将显示新的远程 Java SE 平台。

[.feature]
--
image::images/jpremote-small.png[role="left", link="images/jpremote.png"]
--

现已设置 NetBeans IDE 进行远程 Java SE 开发。


== 在 IDE 中创建和运行项目

现在让我们创建一个项目，该项目将先在 IDE 中运行，然后在远程平台上运行。

*要创建项目，请执行以下操作：*

1. 在 IDE 中，选择 "File"（文件）> "New Project"（新建项目）。
2. 在新建项目向导中，选择 "Java" 类别，然后在 "Projects"（项目）列表中选择 "Java Application"（Java 应用程序）。单击 "Next"（下一步）。
3. 在向导的 "Name and Location"（名称和位置）页中，执行以下操作：
* 在 "Project Name"（项目名称）字段中，键入 `EmbeddedCalculator`。
* 将“使用专用文件夹存储库”复选框保留为取消选中状态。
* 在 "Create Main Class"（创建主类）字段中，键入 `embeddedcalculator.EmbeddedCalculator`。

[.feature]
--
image::images/wizard-small.png[role="left", link="images/wizard.png"]
--


[start=4]
. 单击 "Finish"（完成）。
IDE 将在 "Projects"（项目）窗口中创建并打开 Java SE 项目。

[start=5]
. 将  ``// TODO code application logic here``  一行替换为以下代码：

[source,java]
----

    int a = 1;
    int b = 2;
    int c = a + b;
    System.out.println (c);
----

[start=6]
. 通过选择 "File"（文件）> "Save"（保存）保存您所做的更改。

要测试应用程序，请右键单击项目名称，然后从上下文菜单中选择 "Run"（运行）。可以在 "Output"（输出）窗口（"Window"（窗口）> "Output"（输出））中查看计算的输出。

image::images/run-ide.png[]


== 将项目配置为使用远程平台

要使用 link:http://openjdk.java.net/jeps/161[+compact1、compact2 或 compact3 运行时平台+]在远程平台上开发 Java SE 嵌入式应用程序，需要在 IDE 中注册 JDK 8。

*要在 NetBeans IDE 中启用 JDK 8 支持，请执行以下操作：*

1. 在 IDE 中，从主菜单中选择 "Tools"（工具）> "Java Platforms"（Java 平台）。
2. 在 "Java Platform Manager"（Java 平台管理器）对话框中单击 "Add Platform"（添加平台）。
3. 在 "Add Java Platform"（添加 Java 平台）对话框中，选择 "Java Standard Edition"，然后单击 "Next"（下一步）。
4. 指定包含 JDK 的目录，然后单击 "Next"（下一步）。

[.feature]
--
image::images/jdk8-small.png[role="left", link="images/jdk8.png"]
--


[start=5]
. 验证平台源 zip 文件和 API 文档的默认位置是否有效。单击 "Finish"（完成）以关闭 "Add Java Platform"（添加 Java 平台）对话框。
JDK 8 作为平台注册在 IDE 中。

[.feature]
--
image::images/jdk8registered-small.png[role="left", link="images/jdk8registered.png"]
--


[start=6]
. 单击 "Close"（关闭）。

*要配置项目以使用 JDK 8，请执行以下操作：*

1. 在 "Projects"（项目）窗口中右键单击 "EmbeddedCalculator" 项目，然后从上下文菜单中选择 "Properties"（属性）。
2. 在 "Project Properties"（项目属性）对话框中，选择 "Libraries"（库）类别，然后将 JDK 1.8 设置为 Java 平台。

[.feature]
--
image::images/prj-jdk8-small.png[role="left", link="images/prj-jdk8.png"]
--


[start=3]
. 选择 "Sources"（源）类别，然后将源代码/二进制格式设置为 "JDK 8"。

[.feature]
--
image::images/prj-source-jdk8-small.png[role="left", link="images/prj-source-jdk8.png"]
--


[start=4]
. 指定在远程平台上用作运行时的配置文件（例如，简洁 2）。

[.feature]
--
image::images/prj-jdk8-profile-small.png[role="left", link="images/prj-jdk8-profile.png"]
--


[start=5]
. 单击“确定”保存更改。
您的项目将设置为在远程平台上识别特定的运行时。


== 在远程平台上运行项目

将项目配置设置为默认配置之外的配置之后，可以在远程设备上运行和调试应用程序。

*要创建一个新的配置：*

1. 在 "Projects"（项目）窗口中右键单击项目名称，然后从上下文菜单中选择 "Properties"（属性）。
2. 选择 "Run"（运行）类别。
3. 单击 "Configuration"（配置）下拉列表右侧的 "New"（新建）。
4. 在 "Create New Configuration"（创建新的配置）对话框中，指定新配置的名称，然后单击 "OK"（确定）。
5. 在 "Runtime Platform"（运行时平台）下拉列表中选择运行时平台名称。

[.feature]
--
image::images/config-runtime-small.png[role="left", link="images/config-runtime.png"]
--


[start=6]
. 单击 "OK"（确定）保存所做的编辑。

如果在远程平台上运行项目（"Run"（运行）> "Run Project (project name)"（运行项目（项目名称））），则输出将看起来类似于下图中显示的内容。

[.feature]
--
image::images/run-remote-small.png[role="left", link="images/run-remote.png"]
--

*要在项目配置之间切换，请执行以下操作：*

* 选择 "Run"（运行）> "Set Project Configuration"（设置项目配置）> "configuration name"（配置名称），或者右键单击项目名称并从上下文菜单中选择 "Set Configuration"（设置配置）> "configuration name"（配置名称）。

[.feature]
--
image::images/switch-config-small.png[role="left", link="images/switch-config.png"]
--

link:/about/contact_form.html?to=3&subject=Feedback:%20Setting%20Up%20Oracle%20Java%20SE%20Embedded%20in%20NetBeans%20IDE[+发送有关此教程的反馈意见+]



== 另请参见

* link:http://www.oracle.com/technetwork/java/embedded/resources/se-embeddocs/index.html?ssSourceSiteId=null[+Java SE 嵌入式文档+]
* link:https://www.youtube.com/watch?v=mAnne3N0d5Y#t=149[+简化 Java SE 嵌入式开发 - 第 1 部分，共 2 部分 +]
* link:https://www.youtube.com/watch?v=G8oMx2SJZq8[+简化 Java SE 嵌入式开发 - 第 2 部分，共 2 部分+]
* link:http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html[+Raspberry Pi 上的 Java® SE 嵌入式入门指南+]
