This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph-doc.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 7f41f69a doc(setup-idea): consider the scenario of configuring
authenticator in Java 11 for server (#326)
7f41f69a is described below
commit 7f41f69aeed38110a6dcf2e895fb0c209f565f18
Author: imbajin <[email protected]>
AuthorDate: Wed Jan 24 02:48:15 2024 +0000
doc(setup-idea): consider the scenario of configuring authenticator in Java
11 for server (#326)
* chore: add qa for setup idea 3c031983d2078e7e00585982edb53c945bf9b2fe
---
cn/docs/_print/index.html | 12 ++++++---
cn/docs/contribution-guidelines/_print/index.html | 12 ++++++---
.../hugegraph-server-idea-setup/index.html | 30 ++++++++++++----------
cn/docs/contribution-guidelines/index.xml | 24 ++++++++++++-----
cn/docs/index.xml | 24 ++++++++++++-----
cn/sitemap.xml | 2 +-
sitemap.xml | 2 +-
7 files changed, 71 insertions(+), 35 deletions(-)
diff --git a/cn/docs/_print/index.html b/cn/docs/_print/index.html
index e157ae31..84d3a0e8 100644
--- a/cn/docs/_print/index.html
+++ b/cn/docs/_print/index.html
@@ -7983,13 +7983,15 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
</span></span><span style=display:flex><span><span
style=color:#204a87;font-weight:700>8.</span> No empty file <span
style=color:#a40000>&</span> directory found
</span></span><span style=display:flex><span><span
style=color:#204a87;font-weight:700>9.</span> Test running XXX service OK
</span></span><span style=display:flex><span><span
style=color:#204a87;font-weight:700>10.</span> ....
-</span></span></code></pre></div></div><div class=td-content
style=page-break-before:always><h1 id=pg-c89774a4e231af418639f53a926ea188>10.4
- 在 IDEA 中配置 Server 开发环境</h1><blockquote><p>注意:下述配置仅供参考,基于<a
href=https://github.com/apache/incubator-hugegraph/commit/a946ad1de4e8f922251a5241ffc957c33379677f>这个版本</a>,在
Linux 和 macOS 平台下进行了测试。</p></blockquote><h3 id=背景>背景</h3><p>在 <a
href=/docs/quickstart/hugegraph-server/>Quick Start</a>
部分已经介绍了使用<strong>脚本</strong>启停 HugeGraphServer 的流程。下面以 Linux [...]
+</span></span></code></pre></div></div><div class=td-content
style=page-break-before:always><h1 id=pg-c89774a4e231af418639f53a926ea188>10.4
- 在 IDEA 中配置 Server 开发环境</h1><blockquote><p>注意:下述配置仅供参考,基于<a
href=https://github.com/apache/incubator-hugegraph/commit/a946ad1de4e8f922251a5241ffc957c33379677f>这个版本</a>,在
Linux 和 macOS 平台下进行了测试。</p></blockquote><h3 id=背景>背景</h3><p>在 <a
href=/docs/quickstart/hugegraph-server/>Quick Start</a>
部分已经介绍了使用<strong>脚本</strong>启停 HugeGraph-Server 的流程。下面以 Linu [...]
</span></span></code></pre></div><h3 id=步骤>步骤</h3><h4 id=1-配置文件拷贝>1.
配置文件拷贝</h4><p>为了避免配置文件的更改影响 Git 的追踪,建议将所需的配置文件拷贝到一个单独的文件夹中:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-bash data-lang=bash><span style=display:flex><span>cp -r
hugegraph-dist/src/assembly/static/scripts
hugegraph-dist/src/assembly/static/conf path-to-your-directory
</span></span></code></pre></div><p>将 <code>path-to-your-directory</code>
替换为你创建的文件夹的路径。</p><h4 id=2-initstore-类初始化图>2. <code>InitStore</code>
类初始化图</h4><p>首先,需要在配置文件中配置数据库后端。以 RocksDB 为例,在
<code>path-to-your-directory/conf/graphs/hugegraph.properties</code>
文件中进行以下配置:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-fallback data-lang=fallback><span
style=display:flex><span>backend=rocksdb
</span></span><span style=display:flex><span>serializer=binary
</span></span><span style=display:flex><span>rocksdb.data_path=.
</span></span><span style=display:flex><span>rocksdb.wal_path=.
-</span></span></code></pre></div><p>然后,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 Application 配置,按照以下步骤进行配置:</p><ul><li>在
<code>Use classpath of module</code> 中选择 <code>hugegraph-dist</code></li><li>将
<code>Main class</code> 设置为
<code>org.apache.hugegraph.cmd.InitStore</code></li><li>设置运行参数为
<code>conf/rest-server.properties</code>,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li></ul><p>配置完成后运行,如果运行成功,将会输出以下类似运行日志:</p><div
class=highlight><pre ta [...]
+</span></span></code></pre></div><p>然后,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 Application 配置,按照以下步骤进行配置:</p><ul><li>在
<code>Use classpath of module</code> 中选择 <code>hugegraph-dist</code></li><li>将
<code>Main class</code> 设置为
<code>org.apache.hugegraph.cmd.InitStore</code></li><li>设置运行参数为
<code>conf/rest-server.properties</code>,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li></ul><blockquote><p>若在 <strong>Java
11</strong> 环境下为 HugeGraph-Serve [...]
+</span></span></code></pre></div><p>否则会报错:</p><div class=highlight><pre
tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-text data-lang=text><span
style=display:flex><span>java.lang.reflect.InaccessibleObjectException: Unable
to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not "exports jdk.internal.reflect"
to [...]
+</span></span></code></pre></div></blockquote><p>配置完成后运行,如果运行成功,将会输出以下类似运行日志:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-java data-lang=java><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>37</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#ce5c00;font-weight:700>......</span>
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
@@ -8000,7 +8002,9 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
-</span></span></code></pre></div><h4 id=3-运行-hugegraphserver>3. 运行
<code>HugeGraphServer</code></h4><p>类似地,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 <code>Application</code>
配置,按照以下步骤进行配置:</p><ul><li>在 <code>Use classpath of module</code> 中选择
<code>hugegraph-dist</code></li><li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.dist.HugeGraphServer</code></li><li>设置运行参数为
<code>conf/gremlin-server.yaml
conf/rest-server.properties</code>,同样地,这里的路径是相对于工作路径的,需要 [...]
+</span></span></code></pre></div><h4 id=3-运行-hugegraphserver>3. 运行
<code>HugeGraphServer</code></h4><p>类似地,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 <code>Application</code>
配置,按照以下步骤进行配置:</p><ul><li>在 <code>Use classpath of module</code> 中选择
<code>hugegraph-dist</code></li><li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.dist.HugeGraphServer</code></li><li>设置运行参数为
<code>conf/gremlin-server.yaml
conf/rest-server.properties</code>,同样地,这里的路径是相对于工作路径的,需要 [...]
+</span></span></code></pre></div><p>否则会报错:</p><div class=highlight><pre
tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-text data-lang=text><span
style=display:flex><span>java.lang.reflect.InaccessibleObjectException: Unable
to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not "exports jdk.internal.reflect"
to [...]
+</span></span></code></pre></div></blockquote><p>配置完成后运行,如果看到以下类似日志,表示
<code>HugeGraphServer</code> 已经成功启动:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-java data-lang=java><span style=display:flex><span><span
style=color:#ce5c00;font-weight:700>......</span>
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>51</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>56</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>51</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>56</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span></code></pre></div><h4 id=4-调试-hugegraphserver-可选>4. 调试
<code>HugeGraphServer</code> (可选)</h4><p>在完成上述配置后,可以尝试对
<code>HugeGraphServer</code> 进行调试。在调试模式下运行 <code>HugeGraphServer</code>,并在以下<a
href=https://github.com/apache/hugegraph/blob/a946ad1de4e8f922251a5241ffc957c33379677f/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java#L238>位置</a>设置断点:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size [...]
@@ -8009,7 +8013,7 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
</span></span><span style=display:flex><span> <span
style=color:#8f5902;font-style:italic>// ignore log
</span></span></span><span style=display:flex><span><span
style=color:#8f5902;font-style:italic></span> <span
style=color:#000>Map</span><span
style=color:#ce5c00;font-weight:700><</span><span
style=color:#000>String</span><span
style=color:#ce5c00;font-weight:700>,</span> <span
style=color:#000>Object</span><span
style=color:#ce5c00;font-weight:700>></span> <span
style=color:#000>props</span> <span
style=color:#ce5c00;font-weight:700>=</span> <span
style=color:#000>parsePropert [...]
</span></span></code></pre></div><p>然后,使用 RESTful API 请求
<code>HugeGraphServer</code>:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-bash data-lang=bash><span style=display:flex><span>curl <span
style=color:#4e9a06>"http://localhost:8080/graphs/hugegraph/graph/vertices"</span>
<span style=color:#000;font-weight:700>|</span> gunzip
-</span></span></code></pre></div><p>此时,可以在调试器中查看详细的变量信息。</p><h4
id=5-log4j2-日志配置>5. Log4j2 日志配置</h4><p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraphServer 时读取的。</p><p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ
IDEA</strong> 运行与调试 HugeGraphServer 时,修改读取的 Log4j2 配置文件路径:</p><ol><li>打开之前创建的
<code>Applicatio [...]
+</span></span></code></pre></div><p>此时,可以在调试器中查看详细的变量信息。</p><h4
id=5-log4j2-日志配置>5. Log4j2 日志配置</h4><p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraph-Server 时读取的。</p><p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ
IDEA</strong> 运行与调试 HugeGraph-Server 时,修改读取的 Log4j2 配置文件路径:</p><ol><li>打开之前创建的
<code>Applicat [...]
<script
src=https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js
integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA=="
crossorigin=anonymous></script>
<script src=/js/tabpane-persist.js></script>
<script
src=/js/main.min.aa9f4c5dae6a98b2c46277f4c56f1673a2b000d1756ce4ffae93784cab25e6d5.js
integrity="sha256-qp9MXa5qmLLEYnf0xW8Wc6KwANF1bOT/rpN4TKsl5tU="
crossorigin=anonymous></script>
diff --git a/cn/docs/contribution-guidelines/_print/index.html
b/cn/docs/contribution-guidelines/_print/index.html
index f36b823b..36fcbe95 100644
--- a/cn/docs/contribution-guidelines/_print/index.html
+++ b/cn/docs/contribution-guidelines/_print/index.html
@@ -163,13 +163,15 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
</span></span><span style=display:flex><span><span
style=color:#204a87;font-weight:700>8.</span> No empty file <span
style=color:#a40000>&</span> directory found
</span></span><span style=display:flex><span><span
style=color:#204a87;font-weight:700>9.</span> Test running XXX service OK
</span></span><span style=display:flex><span><span
style=color:#204a87;font-weight:700>10.</span> ....
-</span></span></code></pre></div></div><div class=td-content
style=page-break-before:always><h1 id=pg-c89774a4e231af418639f53a926ea188>4 - 在
IDEA 中配置 Server 开发环境</h1><blockquote><p>注意:下述配置仅供参考,基于<a
href=https://github.com/apache/incubator-hugegraph/commit/a946ad1de4e8f922251a5241ffc957c33379677f>这个版本</a>,在
Linux 和 macOS 平台下进行了测试。</p></blockquote><h3 id=背景>背景</h3><p>在 <a
href=/docs/quickstart/hugegraph-server/>Quick Start</a>
部分已经介绍了使用<strong>脚本</strong>启停 HugeGraphServer 的流程。下面以 Linux 平台 [...]
+</span></span></code></pre></div></div><div class=td-content
style=page-break-before:always><h1 id=pg-c89774a4e231af418639f53a926ea188>4 - 在
IDEA 中配置 Server 开发环境</h1><blockquote><p>注意:下述配置仅供参考,基于<a
href=https://github.com/apache/incubator-hugegraph/commit/a946ad1de4e8f922251a5241ffc957c33379677f>这个版本</a>,在
Linux 和 macOS 平台下进行了测试。</p></blockquote><h3 id=背景>背景</h3><p>在 <a
href=/docs/quickstart/hugegraph-server/>Quick Start</a>
部分已经介绍了使用<strong>脚本</strong>启停 HugeGraph-Server 的流程。下面以 Linux 平 [...]
</span></span></code></pre></div><h3 id=步骤>步骤</h3><h4 id=1-配置文件拷贝>1.
配置文件拷贝</h4><p>为了避免配置文件的更改影响 Git 的追踪,建议将所需的配置文件拷贝到一个单独的文件夹中:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-bash data-lang=bash><span style=display:flex><span>cp -r
hugegraph-dist/src/assembly/static/scripts
hugegraph-dist/src/assembly/static/conf path-to-your-directory
</span></span></code></pre></div><p>将 <code>path-to-your-directory</code>
替换为你创建的文件夹的路径。</p><h4 id=2-initstore-类初始化图>2. <code>InitStore</code>
类初始化图</h4><p>首先,需要在配置文件中配置数据库后端。以 RocksDB 为例,在
<code>path-to-your-directory/conf/graphs/hugegraph.properties</code>
文件中进行以下配置:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-fallback data-lang=fallback><span
style=display:flex><span>backend=rocksdb
</span></span><span style=display:flex><span>serializer=binary
</span></span><span style=display:flex><span>rocksdb.data_path=.
</span></span><span style=display:flex><span>rocksdb.wal_path=.
-</span></span></code></pre></div><p>然后,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 Application 配置,按照以下步骤进行配置:</p><ul><li>在
<code>Use classpath of module</code> 中选择 <code>hugegraph-dist</code></li><li>将
<code>Main class</code> 设置为
<code>org.apache.hugegraph.cmd.InitStore</code></li><li>设置运行参数为
<code>conf/rest-server.properties</code>,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li></ul><p>配置完成后运行,如果运行成功,将会输出以下类似运行日志:</p><div
class=highlight><pre ta [...]
+</span></span></code></pre></div><p>然后,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 Application 配置,按照以下步骤进行配置:</p><ul><li>在
<code>Use classpath of module</code> 中选择 <code>hugegraph-dist</code></li><li>将
<code>Main class</code> 设置为
<code>org.apache.hugegraph.cmd.InitStore</code></li><li>设置运行参数为
<code>conf/rest-server.properties</code>,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li></ul><blockquote><p>若在 <strong>Java
11</strong> 环境下为 HugeGraph-Serve [...]
+</span></span></code></pre></div><p>否则会报错:</p><div class=highlight><pre
tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-text data-lang=text><span
style=display:flex><span>java.lang.reflect.InaccessibleObjectException: Unable
to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not "exports jdk.internal.reflect"
to [...]
+</span></span></code></pre></div></blockquote><p>配置完成后运行,如果运行成功,将会输出以下类似运行日志:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-java data-lang=java><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>37</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#ce5c00;font-weight:700>......</span>
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
@@ -180,7 +182,9 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
-</span></span></code></pre></div><h4 id=3-运行-hugegraphserver>3. 运行
<code>HugeGraphServer</code></h4><p>类似地,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 <code>Application</code>
配置,按照以下步骤进行配置:</p><ul><li>在 <code>Use classpath of module</code> 中选择
<code>hugegraph-dist</code></li><li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.dist.HugeGraphServer</code></li><li>设置运行参数为
<code>conf/gremlin-server.yaml
conf/rest-server.properties</code>,同样地,这里的路径是相对于工作路径的,需要 [...]
+</span></span></code></pre></div><h4 id=3-运行-hugegraphserver>3. 运行
<code>HugeGraphServer</code></h4><p>类似地,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 <code>Application</code>
配置,按照以下步骤进行配置:</p><ul><li>在 <code>Use classpath of module</code> 中选择
<code>hugegraph-dist</code></li><li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.dist.HugeGraphServer</code></li><li>设置运行参数为
<code>conf/gremlin-server.yaml
conf/rest-server.properties</code>,同样地,这里的路径是相对于工作路径的,需要 [...]
+</span></span></code></pre></div><p>否则会报错:</p><div class=highlight><pre
tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-text data-lang=text><span
style=display:flex><span>java.lang.reflect.InaccessibleObjectException: Unable
to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not "exports jdk.internal.reflect"
to [...]
+</span></span></code></pre></div></blockquote><p>配置完成后运行,如果看到以下类似日志,表示
<code>HugeGraphServer</code> 已经成功启动:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-java data-lang=java><span style=display:flex><span><span
style=color:#ce5c00;font-weight:700>......</span>
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>51</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>56</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>51</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>56</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span></code></pre></div><h4 id=4-调试-hugegraphserver-可选>4. 调试
<code>HugeGraphServer</code> (可选)</h4><p>在完成上述配置后,可以尝试对
<code>HugeGraphServer</code> 进行调试。在调试模式下运行 <code>HugeGraphServer</code>,并在以下<a
href=https://github.com/apache/hugegraph/blob/a946ad1de4e8f922251a5241ffc957c33379677f/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java#L238>位置</a>设置断点:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size [...]
@@ -189,7 +193,7 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
</span></span><span style=display:flex><span> <span
style=color:#8f5902;font-style:italic>// ignore log
</span></span></span><span style=display:flex><span><span
style=color:#8f5902;font-style:italic></span> <span
style=color:#000>Map</span><span
style=color:#ce5c00;font-weight:700><</span><span
style=color:#000>String</span><span
style=color:#ce5c00;font-weight:700>,</span> <span
style=color:#000>Object</span><span
style=color:#ce5c00;font-weight:700>></span> <span
style=color:#000>props</span> <span
style=color:#ce5c00;font-weight:700>=</span> <span
style=color:#000>parsePropert [...]
</span></span></code></pre></div><p>然后,使用 RESTful API 请求
<code>HugeGraphServer</code>:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-bash data-lang=bash><span style=display:flex><span>curl <span
style=color:#4e9a06>"http://localhost:8080/graphs/hugegraph/graph/vertices"</span>
<span style=color:#000;font-weight:700>|</span> gunzip
-</span></span></code></pre></div><p>此时,可以在调试器中查看详细的变量信息。</p><h4
id=5-log4j2-日志配置>5. Log4j2 日志配置</h4><p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraphServer 时读取的。</p><p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ
IDEA</strong> 运行与调试 HugeGraphServer 时,修改读取的 Log4j2 配置文件路径:</p><ol><li>打开之前创建的
<code>Applicatio [...]
+</span></span></code></pre></div><p>此时,可以在调试器中查看详细的变量信息。</p><h4
id=5-log4j2-日志配置>5. Log4j2 日志配置</h4><p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraph-Server 时读取的。</p><p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ
IDEA</strong> 运行与调试 HugeGraph-Server 时,修改读取的 Log4j2 配置文件路径:</p><ol><li>打开之前创建的
<code>Applicat [...]
<script
src=https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js
integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA=="
crossorigin=anonymous></script>
<script src=/js/tabpane-persist.js></script>
<script
src=/js/main.min.aa9f4c5dae6a98b2c46277f4c56f1673a2b000d1756ce4ffae93784cab25e6d5.js
integrity="sha256-qp9MXa5qmLLEYnf0xW8Wc6KwANF1bOT/rpN4TKsl5tU="
crossorigin=anonymous></script>
diff --git
a/cn/docs/contribution-guidelines/hugegraph-server-idea-setup/index.html
b/cn/docs/contribution-guidelines/hugegraph-server-idea-setup/index.html
index 87eeaacf..8ec22570 100644
--- a/cn/docs/contribution-guidelines/hugegraph-server-idea-setup/index.html
+++ b/cn/docs/contribution-guidelines/hugegraph-server-idea-setup/index.html
@@ -2,24 +2,24 @@
注意:下述配置仅供参考,基于这个版本,在 Linux 和 macOS 平台下进行了测试。
背景
-在 Quick Start 部分已经介绍了使用脚本启停 HugeGraphServer 的流程。下面以 Linux 平台为例,介绍使用 IntelliJ
IDEA …"><meta property="og:title" content="在 IDEA 中配置 Server 开发环境"><meta
property="og:description" content="注意:下述配置仅供参考,基于这个版本,在 Linux 和 macOS 平台下进行了测试。
-背景 在 Quick Start 部分已经介绍了使用脚本启停 HugeGraphServer 的流程。下面以 Linux 平台为例,介绍使用
IntelliJ IDEA 运行与调试 HugeGraph-Server 的流程。
+在 Quick Start 部分已经介绍了使用脚本启停 HugeGraph-Server 的流程。下面以 Linux 平台为例,介绍使用 IntelliJ
IDEA …"><meta property="og:title" content="在 IDEA 中配置 Server 开发环境"><meta
property="og:description" content="注意:下述配置仅供参考,基于这个版本,在 Linux 和 macOS 平台下进行了测试。
+背景 在 Quick Start 部分已经介绍了使用脚本启停 HugeGraph-Server 的流程。下面以 Linux 平台为例,介绍使用
IntelliJ IDEA 运行与调试 HugeGraph-Server 的流程。
本地启动的核心与脚本启动是一样的:
-初始化数据库后端,执行 InitStore 类初始化图 启动 HugeGraphServer,执行 HugeGraphServer 类加载初始化的图信息启动
在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 JDK 11 等开发环境。
+初始化数据库后端,执行 InitStore 类初始化图 启动 HugeGraph-Server,执行 HugeGraphServer
类加载初始化的图信息启动 在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 JDK 11 等开发环境。
git clone https://github.com/apache/hugegraph.git 步骤 1. 配置文件拷贝 为了避免配置文件的更改影响
Git 的追踪,建议将所需的配置文件拷贝到一个单独的文件夹中:
cp -r hugegraph-dist/src/assembly/static/scripts
hugegraph-dist/src/assembly/static/conf path-to-your-directory 将
path-to-your-directory 替换为你创建的文件夹的路径。
2. InitStore 类初始化图 首先,需要在配置文件中配置数据库后端。以 RocksDB 为例,在
path-to-your-directory/conf/graphs/hugegraph.properties 文件中进行以下配置:
-backend=rocksdb serializer=binary rocksdb.data_path=. rocksdb.wal_path=. 然后,打开
IntelliJ IDEA 的 Run/Debug Configurations 面板,创建一个新的 Application
配置,按照以下步骤进行配置:"><meta property="og:type" content="article"><meta
property="og:url"
content="/cn/docs/contribution-guidelines/hugegraph-server-idea-setup/"><meta
property="article:section" content="docs"><meta
property="article:modified_time" content="2023-06-25T21:06:07+08:00"><meta
property="og:site_name" content="HugeGraph"><meta itemprop=name co [...]
-背景 在 Quick Start 部分已经介绍了使用脚本启停 HugeGraphServer 的流程。下面以 Linux 平台为例,介绍使用
IntelliJ IDEA 运行与调试 HugeGraph-Server 的流程。
+backend=rocksdb serializer=binary rocksdb.data_path=. rocksdb.wal_path=. 然后,打开
IntelliJ IDEA 的 Run/Debug Configurations 面板,创建一个新的 Application
配置,按照以下步骤进行配置:"><meta property="og:type" content="article"><meta
property="og:url"
content="/cn/docs/contribution-guidelines/hugegraph-server-idea-setup/"><meta
property="article:section" content="docs"><meta
property="article:modified_time" content="2024-01-24T10:47:36+08:00"><meta
property="og:site_name" content="HugeGraph"><meta itemprop=name co [...]
+背景 在 Quick Start 部分已经介绍了使用脚本启停 HugeGraph-Server 的流程。下面以 Linux 平台为例,介绍使用
IntelliJ IDEA 运行与调试 HugeGraph-Server 的流程。
本地启动的核心与脚本启动是一样的:
-初始化数据库后端,执行 InitStore 类初始化图 启动 HugeGraphServer,执行 HugeGraphServer 类加载初始化的图信息启动
在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 JDK 11 等开发环境。
+初始化数据库后端,执行 InitStore 类初始化图 启动 HugeGraph-Server,执行 HugeGraphServer
类加载初始化的图信息启动 在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 JDK 11 等开发环境。
git clone https://github.com/apache/hugegraph.git 步骤 1. 配置文件拷贝 为了避免配置文件的更改影响
Git 的追踪,建议将所需的配置文件拷贝到一个单独的文件夹中:
cp -r hugegraph-dist/src/assembly/static/scripts
hugegraph-dist/src/assembly/static/conf path-to-your-directory 将
path-to-your-directory 替换为你创建的文件夹的路径。
2. InitStore 类初始化图 首先,需要在配置文件中配置数据库后端。以 RocksDB 为例,在
path-to-your-directory/conf/graphs/hugegraph.properties 文件中进行以下配置:
-backend=rocksdb serializer=binary rocksdb.data_path=. rocksdb.wal_path=. 然后,打开
IntelliJ IDEA 的 Run/Debug Configurations 面板,创建一个新的 Application
配置,按照以下步骤进行配置:"><meta itemprop=dateModified
content="2023-06-25T21:06:07+08:00"><meta itemprop=wordCount
content="406"><meta itemprop=keywords content><meta name=twitter:card
content="summary"><meta name=twitter:title content="在 IDEA 中配置 Server
开发环境"><meta name=twitter:description content="注意:下述配置仅供参考,基于这个版本,在 Linux 和
macOS 平台下进行了测试。
-背景 在 Quick Start 部分已经介绍了使用脚本启停 HugeGraphServer 的流程。下面以 Linux 平台为例,介绍使用
IntelliJ IDEA 运行与调试 HugeGraph-Server 的流程。
+backend=rocksdb serializer=binary rocksdb.data_path=. rocksdb.wal_path=. 然后,打开
IntelliJ IDEA 的 Run/Debug Configurations 面板,创建一个新的 Application
配置,按照以下步骤进行配置:"><meta itemprop=dateModified
content="2024-01-24T10:47:36+08:00"><meta itemprop=wordCount
content="472"><meta itemprop=keywords content><meta name=twitter:card
content="summary"><meta name=twitter:title content="在 IDEA 中配置 Server
开发环境"><meta name=twitter:description content="注意:下述配置仅供参考,基于这个版本,在 Linux 和
macOS 平台下进行了测试。
+背景 在 Quick Start 部分已经介绍了使用脚本启停 HugeGraph-Server 的流程。下面以 Linux 平台为例,介绍使用
IntelliJ IDEA 运行与调试 HugeGraph-Server 的流程。
本地启动的核心与脚本启动是一样的:
-初始化数据库后端,执行 InitStore 类初始化图 启动 HugeGraphServer,执行 HugeGraphServer 类加载初始化的图信息启动
在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 JDK 11 等开发环境。
+初始化数据库后端,执行 InitStore 类初始化图 启动 HugeGraph-Server,执行 HugeGraphServer
类加载初始化的图信息启动 在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 JDK 11 等开发环境。
git clone https://github.com/apache/hugegraph.git 步骤 1. 配置文件拷贝 为了避免配置文件的更改影响
Git 的追踪,建议将所需的配置文件拷贝到一个单独的文件夹中:
cp -r hugegraph-dist/src/assembly/static/scripts
hugegraph-dist/src/assembly/static/conf path-to-your-directory 将
path-to-your-directory 替换为你创建的文件夹的路径。
2. InitStore 类初始化图 首先,需要在配置文件中配置数据库后端。以 RocksDB 为例,在
path-to-your-directory/conf/graphs/hugegraph.properties 文件中进行以下配置:
@@ -29,13 +29,15 @@ backend=rocksdb serializer=binary rocksdb.data_path=.
rocksdb.wal_path=. 然后
<a
href="https://github.com/apache/incubator-hugegraph-doc/new/master/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%
[...]
<a
href="https://github.com/apache/incubator-hugegraph-doc/issues/new?title=%e5%9c%a8%20IDEA%20%e4%b8%ad%e9%85%8d%e7%bd%ae%20Server%20%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83"
class=td-page-meta--issue target=_blank rel=noopener><i class="fab fa-github
fa-fw"></i> Create documentation issue</a>
<a href=https://github.com/apache/incubator-hugegraph/issues/new
class=td-page-meta--project-issue target=_blank rel=noopener><i class="fas
fa-tasks fa-fw"></i> Create project issue</a>
-<a id=print href=/cn/docs/contribution-guidelines/_print/><i class="fa
fa-print fa-fw"></i> Print entire section</a></div><div class=td-toc><nav
id=TableOfContents><ul><li><ul><li><a href=#背景>背景</a></li><li><a
href=#步骤>步骤</a></li><li><a
href=#可能遇到的问题>可能遇到的问题</a></li></ul></li></ul></nav></div></aside><main
class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a
href=/cn/docs/>Documentation</a></l [...]
+<a id=print href=/cn/docs/contribution-guidelines/_print/><i class="fa
fa-print fa-fw"></i> Print entire section</a></div><div class=td-toc><nav
id=TableOfContents><ul><li><ul><li><a href=#背景>背景</a></li><li><a
href=#步骤>步骤</a></li><li><a
href=#可能遇到的问题>可能遇到的问题</a></li></ul></li></ul></nav></div></aside><main
class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a
href=/cn/docs/>Documentation</a></l [...]
</span></span></code></pre></div><h3 id=步骤>步骤</h3><h4 id=1-配置文件拷贝>1.
配置文件拷贝</h4><p>为了避免配置文件的更改影响 Git 的追踪,建议将所需的配置文件拷贝到一个单独的文件夹中:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-bash data-lang=bash><span style=display:flex><span>cp -r
hugegraph-dist/src/assembly/static/scripts
hugegraph-dist/src/assembly/static/conf path-to-your-directory
</span></span></code></pre></div><p>将 <code>path-to-your-directory</code>
替换为你创建的文件夹的路径。</p><h4 id=2-initstore-类初始化图>2. <code>InitStore</code>
类初始化图</h4><p>首先,需要在配置文件中配置数据库后端。以 RocksDB 为例,在
<code>path-to-your-directory/conf/graphs/hugegraph.properties</code>
文件中进行以下配置:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-fallback data-lang=fallback><span
style=display:flex><span>backend=rocksdb
</span></span><span style=display:flex><span>serializer=binary
</span></span><span style=display:flex><span>rocksdb.data_path=.
</span></span><span style=display:flex><span>rocksdb.wal_path=.
-</span></span></code></pre></div><p>然后,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 Application 配置,按照以下步骤进行配置:</p><ul><li>在
<code>Use classpath of module</code> 中选择 <code>hugegraph-dist</code></li><li>将
<code>Main class</code> 设置为
<code>org.apache.hugegraph.cmd.InitStore</code></li><li>设置运行参数为
<code>conf/rest-server.properties</code>,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li></ul><p>配置完成后运行,如果运行成功,将会输出以下类似运行日志:</p><div
class=highlight><pre ta [...]
+</span></span></code></pre></div><p>然后,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 Application 配置,按照以下步骤进行配置:</p><ul><li>在
<code>Use classpath of module</code> 中选择 <code>hugegraph-dist</code></li><li>将
<code>Main class</code> 设置为
<code>org.apache.hugegraph.cmd.InitStore</code></li><li>设置运行参数为
<code>conf/rest-server.properties</code>,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li></ul><blockquote><p>若在 <strong>Java
11</strong> 环境下为 HugeGraph-Serve [...]
+</span></span></code></pre></div><p>否则会报错:</p><div class=highlight><pre
tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-text data-lang=text><span
style=display:flex><span>java.lang.reflect.InaccessibleObjectException: Unable
to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not "exports jdk.internal.reflect"
to [...]
+</span></span></code></pre></div></blockquote><p>配置完成后运行,如果运行成功,将会输出以下类似运行日志:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-java data-lang=java><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>37</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#ce5c00;font-weight:700>......</span>
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
@@ -46,7 +48,9 @@ backend=rocksdb serializer=binary rocksdb.data_path=.
rocksdb.wal_path=. 然后
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>43</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>39</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
-</span></span></code></pre></div><h4 id=3-运行-hugegraphserver>3. 运行
<code>HugeGraphServer</code></h4><p>类似地,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 <code>Application</code>
配置,按照以下步骤进行配置:</p><ul><li>在 <code>Use classpath of module</code> 中选择
<code>hugegraph-dist</code></li><li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.dist.HugeGraphServer</code></li><li>设置运行参数为
<code>conf/gremlin-server.yaml
conf/rest-server.properties</code>,同样地,这里的路径是相对于工作路径的,需要 [...]
+</span></span></code></pre></div><h4 id=3-运行-hugegraphserver>3. 运行
<code>HugeGraphServer</code></h4><p>类似地,打开 IntelliJ IDEA 的 <code>Run/Debug
Configurations</code> 面板,创建一个新的 <code>Application</code>
配置,按照以下步骤进行配置:</p><ul><li>在 <code>Use classpath of module</code> 中选择
<code>hugegraph-dist</code></li><li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.dist.HugeGraphServer</code></li><li>设置运行参数为
<code>conf/gremlin-server.yaml
conf/rest-server.properties</code>,同样地,这里的路径是相对于工作路径的,需要 [...]
+</span></span></code></pre></div><p>否则会报错:</p><div class=highlight><pre
tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-text data-lang=text><span
style=display:flex><span>java.lang.reflect.InaccessibleObjectException: Unable
to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not "exports jdk.internal.reflect"
to [...]
+</span></span></code></pre></div></blockquote><p>配置完成后运行,如果看到以下类似日志,表示
<code>HugeGraphServer</code> 已经成功启动:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-java data-lang=java><span style=display:flex><span><span
style=color:#ce5c00;font-weight:700>......</span>
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>51</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>56</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span><span style=display:flex><span><span
style=color:#000>2023</span><span
style=color:#ce5c00;font-weight:700>-</span><span
style=color:#000>06</span><span
style=color:#ce5c00;font-weight:700>-</span><span style=color:#000>05</span>
<span style=color:#000>00</span><span
style=color:#ce5c00;font-weight:700>:</span><span
style=color:#000>51</span><span
style=color:#ce5c00;font-weight:700>:</span><span style=color:#000>56</span>
<span style=color:#ce5c00;font-weight:700>[</span>< [...]
</span></span></code></pre></div><h4 id=4-调试-hugegraphserver-可选>4. 调试
<code>HugeGraphServer</code> (可选)</h4><p>在完成上述配置后,可以尝试对
<code>HugeGraphServer</code> 进行调试。在调试模式下运行 <code>HugeGraphServer</code>,并在以下<a
href=https://github.com/apache/hugegraph/blob/a946ad1de4e8f922251a5241ffc957c33379677f/hugegraph-api/src/main/java/org/apache/hugegraph/api/graph/VertexAPI.java#L238>位置</a>设置断点:</p><div
class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size [...]
@@ -55,7 +59,7 @@ backend=rocksdb serializer=binary rocksdb.data_path=.
rocksdb.wal_path=. 然后
</span></span><span style=display:flex><span> <span
style=color:#8f5902;font-style:italic>// ignore log
</span></span></span><span style=display:flex><span><span
style=color:#8f5902;font-style:italic></span> <span
style=color:#000>Map</span><span
style=color:#ce5c00;font-weight:700><</span><span
style=color:#000>String</span><span
style=color:#ce5c00;font-weight:700>,</span> <span
style=color:#000>Object</span><span
style=color:#ce5c00;font-weight:700>></span> <span
style=color:#000>props</span> <span
style=color:#ce5c00;font-weight:700>=</span> <span
style=color:#000>parsePropert [...]
</span></span></code></pre></div><p>然后,使用 RESTful API 请求
<code>HugeGraphServer</code>:</p><div class=highlight><pre tabindex=0
style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-bash data-lang=bash><span style=display:flex><span>curl <span
style=color:#4e9a06>"http://localhost:8080/graphs/hugegraph/graph/vertices"</span>
<span style=color:#000;font-weight:700>|</span> gunzip
-</span></span></code></pre></div><p>此时,可以在调试器中查看详细的变量信息。</p><h4
id=5-log4j2-日志配置>5. Log4j2 日志配置</h4><p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraphServer 时读取的。</p><p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ
IDEA</strong> 运行与调试 HugeGraphServer 时,修改读取的 Log4j2 配置文件路径:</p><ol><li>打开之前创建的
<code>Applicatio [...]
+</span></span></code></pre></div><p>此时,可以在调试器中查看详细的变量信息。</p><h4
id=5-log4j2-日志配置>5. Log4j2 日志配置</h4><p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraph-Server 时读取的。</p><p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ
IDEA</strong> 运行与调试 HugeGraph-Server 时,修改读取的 Log4j2 配置文件路径:</p><ol><li>打开之前创建的
<code>Applicat [...]
<script
src=https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js
integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA=="
crossorigin=anonymous></script>
<script src=/js/tabpane-persist.js></script>
<script
src=/js/main.min.aa9f4c5dae6a98b2c46277f4c56f1673a2b000d1756ce4ffae93784cab25e6d5.js
integrity="sha256-qp9MXa5qmLLEYnf0xW8Wc6KwANF1bOT/rpN4TKsl5tU="
crossorigin=anonymous></script>
diff --git a/cn/docs/contribution-guidelines/index.xml
b/cn/docs/contribution-guidelines/index.xml
index 77348780..b2bd0535 100644
--- a/cn/docs/contribution-guidelines/index.xml
+++ b/cn/docs/contribution-guidelines/index.xml
@@ -321,11 +321,11 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
<p>注意:下述配置仅供参考,基于<a
href="https://github.com/apache/incubator-hugegraph/commit/a946ad1de4e8f922251a5241ffc957c33379677f">这个版本</a>,在
Linux 和 macOS 平台下进行了测试。</p>
</blockquote>
<h3 id="背景">背景</h3>
-<p>在 <a href="/docs/quickstart/hugegraph-server/">Quick Start</a>
部分已经介绍了使用<strong>脚本</strong>启停 HugeGraphServer 的流程。下面以 Linux 平台为例,介绍使用
<strong>IntelliJ IDEA</strong> 运行与调试 HugeGraph-Server 的流程。</p>
+<p>在 <a href="/docs/quickstart/hugegraph-server/">Quick Start</a>
部分已经介绍了使用<strong>脚本</strong>启停 HugeGraph-Server 的流程。下面以 Linux 平台为例,介绍使用
<strong>IntelliJ IDEA</strong> 运行与调试 HugeGraph-Server 的流程。</p>
<p>本地启动的核心与<strong>脚本启动</strong>是一样的:</p>
<ol>
<li>初始化数据库后端,执行 <code>InitStore</code> 类初始化图</li>
-<li>启动 HugeGraphServer,执行 <code>HugeGraphServer</code>
类加载初始化的图信息启动</li>
+<li>启动 HugeGraph-Server,执行 <code>HugeGraphServer</code>
类加载初始化的图信息启动</li>
</ol>
<p>在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 JDK 11 等开发环境。</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span
style="display:flex;"><span>git clone https://github.com/apache/hugegraph.git
@@ -346,6 +346,12 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
<li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.cmd.InitStore</code></li>
<li>设置运行参数为
<code>conf/rest-server.properties</code>,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li>
</ul>
+<blockquote>
+<p>若在 <strong>Java 11</strong> 环境下为 HugeGraph-Server
配置了<strong>用户认证</strong> (authenticator),需要参考二进制包的脚本<a
href="https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-dist/src/assembly/static/bin/init-store.sh#L52">配置</a>,添加下述
<strong>VM options</strong>:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-text" data-lang="text"><span
style="display:flex;"><span>--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED
+</span></span></code></pre></div><p>否则会报错:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-text" data-lang="text"><span
style="display:flex;"><span>java.lang.reflect.InaccessibleObjectException:
Unable to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not &#34;exports
jdk.internal.reflect&#34; to unnamed m [...]
+</span></span></code></pre></div></blockquote>
<p>配置完成后运行,如果运行成功,将会输出以下类似运行日志:</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-java" data-lang="java"><span
style="display:flex;"><span><span
style="color:#000">2023</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">06</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">05</span> <span style="color:#000">00</span>& [...]
</span></span><span style="display:flex;"><span><span
style="color:#000">2023</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">06</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">05</span> <span
style="color:#000">00</span><span
style="color:#ce5c00;font-weight:bold">:</span><span
style="color:#000">43</span><span
style="color:#ce5c00;font-weight:bold">:< [...]
@@ -365,6 +371,12 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
<li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.dist.HugeGraphServer</code></li>
<li>设置运行参数为 <code>conf/gremlin-server.yaml
conf/rest-server.properties</code>,同样地,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li>
</ul>
+<blockquote>
+<p>类似的,若在 <strong>Java 11</strong> 环境下为 HugeGraph-Server
配置了<strong>用户认证</strong> (authenticator),同样需要参考二进制包的脚本<a
href="https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh#L124">配置</a>,添加下述
<strong>VM options</strong>:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-text" data-lang="text"><span
style="display:flex;"><span>--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED
--add-modules=jdk.unsupported --add-exports=java.base/sun.nio.ch=ALL-UNNAMED
+</span></span></code></pre></div><p>否则会报错:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-text" data-lang="text"><span
style="display:flex;"><span>java.lang.reflect.InaccessibleObjectException:
Unable to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not &#34;exports
jdk.internal.reflect&#34; to unnamed m [...]
+</span></span></code></pre></div></blockquote>
<p>配置完成后运行,如果看到以下类似日志,表示 <code>HugeGraphServer</code> 已经成功启动:</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-java" data-lang="java"><span
style="display:flex;"><span><span
style="color:#ce5c00;font-weight:bold">......</span>
</span></span><span style="display:flex;"><span><span
style="color:#000">2023</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">06</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">05</span> <span
style="color:#000">00</span><span
style="color:#ce5c00;font-weight:bold">:</span><span
style="color:#000">51</span><span
style="color:#ce5c00;font-weight:bold">:< [...]
@@ -380,8 +392,8 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span
style="display:flex;"><span>curl <span
style="color:#4e9a06">&#34;http://localhost:8080/graphs/hugegraph/graph/vertices&#34;</span>
<span style="color:#000;font-weight:bold">|</span> gunzip
</span></span></code></pre></div><p>此时,可以在调试器中查看详细的变量信息。</p>
<h4 id="5-log4j2-日志配置">5. Log4j2 日志配置</h4>
-<p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraphServer 时读取的。</p>
-<p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ IDEA</strong> 运行与调试
HugeGraphServer 时,修改读取的 Log4j2 配置文件路径:</p>
+<p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraph-Server 时读取的。</p>
+<p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ IDEA</strong> 运行与调试
HugeGraph-Server 时,修改读取的 Log4j2 配置文件路径:</p>
<ol>
<li>打开之前创建的 <code>Application</code> 配置</li>
<li>点击 <code>Modify options</code> - <code>Add VM
options</code></li>
@@ -389,10 +401,10 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
</ol>
<h3 id="可能遇到的问题">可能遇到的问题</h3>
<h4 id="1-java-package-sunmisc-does-not-exist">1. java: package sun.misc
does not exist</h4>
-<p>原因可能是在使用 Java 11 编译时触发了交叉编译,导致项目中使用的 <code>sun.misc.Unsafe</code>
找不到符号。有两种解决方案可供选择:</p>
+<p>原因可能是在使用 <strong>Java 11</strong> 编译时触发了交叉编译,导致项目中使用的
<code>sun.misc.Unsafe</code> 找不到符号。有两种解决方案可供选择:</p>
<ol>
<li>在 IntelliJ IDEA 的 <code>Preferences/Settings</code> 中找到
<code>Java Compiler</code> 面板,然后关闭 <code>--release</code> 选项
(推荐)</li>
-<li>或者将项目的 SDK 版本设置为 8</li>
+<li>或者将项目的 SDK 版本设置为 8 (Deprecated soon)</li>
</ol>
<h4 id="2-log4j2-日志无法打印-l-等位置信息">2. Log4j2 日志无法打印 %l 等位置信息</h4>
<p>这是因为 Log4j2 中使用了 asynchronous loggers,可以参考<a
href="https://logging.apache.org/log4j/2.x/manual/layouts.html#LocationInformation">官方文档</a>进行配置</p>
diff --git a/cn/docs/index.xml b/cn/docs/index.xml
index 4964cd65..d368943d 100644
--- a/cn/docs/index.xml
+++ b/cn/docs/index.xml
@@ -9346,11 +9346,11 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
<p>注意:下述配置仅供参考,基于<a
href="https://github.com/apache/incubator-hugegraph/commit/a946ad1de4e8f922251a5241ffc957c33379677f">这个版本</a>,在
Linux 和 macOS 平台下进行了测试。</p>
</blockquote>
<h3 id="背景">背景</h3>
-<p>在 <a href="/docs/quickstart/hugegraph-server/">Quick Start</a>
部分已经介绍了使用<strong>脚本</strong>启停 HugeGraphServer 的流程。下面以 Linux 平台为例,介绍使用
<strong>IntelliJ IDEA</strong> 运行与调试 HugeGraph-Server 的流程。</p>
+<p>在 <a href="/docs/quickstart/hugegraph-server/">Quick Start</a>
部分已经介绍了使用<strong>脚本</strong>启停 HugeGraph-Server 的流程。下面以 Linux 平台为例,介绍使用
<strong>IntelliJ IDEA</strong> 运行与调试 HugeGraph-Server 的流程。</p>
<p>本地启动的核心与<strong>脚本启动</strong>是一样的:</p>
<ol>
<li>初始化数据库后端,执行 <code>InitStore</code> 类初始化图</li>
-<li>启动 HugeGraphServer,执行 <code>HugeGraphServer</code>
类加载初始化的图信息启动</li>
+<li>启动 HugeGraph-Server,执行 <code>HugeGraphServer</code>
类加载初始化的图信息启动</li>
</ol>
<p>在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 JDK 11 等开发环境。</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span
style="display:flex;"><span>git clone https://github.com/apache/hugegraph.git
@@ -9371,6 +9371,12 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
<li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.cmd.InitStore</code></li>
<li>设置运行参数为
<code>conf/rest-server.properties</code>,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li>
</ul>
+<blockquote>
+<p>若在 <strong>Java 11</strong> 环境下为 HugeGraph-Server
配置了<strong>用户认证</strong> (authenticator),需要参考二进制包的脚本<a
href="https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-dist/src/assembly/static/bin/init-store.sh#L52">配置</a>,添加下述
<strong>VM options</strong>:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-text" data-lang="text"><span
style="display:flex;"><span>--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED
+</span></span></code></pre></div><p>否则会报错:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-text" data-lang="text"><span
style="display:flex;"><span>java.lang.reflect.InaccessibleObjectException:
Unable to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not &#34;exports
jdk.internal.reflect&#34; to unnamed m [...]
+</span></span></code></pre></div></blockquote>
<p>配置完成后运行,如果运行成功,将会输出以下类似运行日志:</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-java" data-lang="java"><span
style="display:flex;"><span><span
style="color:#000">2023</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">06</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">05</span> <span style="color:#000">00</span>& [...]
</span></span><span style="display:flex;"><span><span
style="color:#000">2023</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">06</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">05</span> <span
style="color:#000">00</span><span
style="color:#ce5c00;font-weight:bold">:</span><span
style="color:#000">43</span><span
style="color:#ce5c00;font-weight:bold">:< [...]
@@ -9390,6 +9396,12 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
<li>将 <code>Main class</code> 设置为
<code>org.apache.hugegraph.dist.HugeGraphServer</code></li>
<li>设置运行参数为 <code>conf/gremlin-server.yaml
conf/rest-server.properties</code>,同样地,这里的路径是相对于工作路径的,需要将工作路径设置为
<code>path-to-your-directory</code></li>
</ul>
+<blockquote>
+<p>类似的,若在 <strong>Java 11</strong> 环境下为 HugeGraph-Server
配置了<strong>用户认证</strong> (authenticator),同样需要参考二进制包的脚本<a
href="https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-dist/src/assembly/static/bin/hugegraph-server.sh#L124">配置</a>,添加下述
<strong>VM options</strong>:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-text" data-lang="text"><span
style="display:flex;"><span>--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED
--add-modules=jdk.unsupported --add-exports=java.base/sun.nio.ch=ALL-UNNAMED
+</span></span></code></pre></div><p>否则会报错:</p>
+<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-text" data-lang="text"><span
style="display:flex;"><span>java.lang.reflect.InaccessibleObjectException:
Unable to make public static synchronized void
jdk.internal.reflect.Reflection.registerFieldsToFilter(java.lang.Class,java.lang.String[])
accessible: module java.base does not &#34;exports
jdk.internal.reflect&#34; to unnamed m [...]
+</span></span></code></pre></div></blockquote>
<p>配置完成后运行,如果看到以下类似日志,表示 <code>HugeGraphServer</code> 已经成功启动:</p>
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-java" data-lang="java"><span
style="display:flex;"><span><span
style="color:#ce5c00;font-weight:bold">......</span>
</span></span><span style="display:flex;"><span><span
style="color:#000">2023</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">06</span><span
style="color:#ce5c00;font-weight:bold">-</span><span
style="color:#000">05</span> <span
style="color:#000">00</span><span
style="color:#ce5c00;font-weight:bold">:</span><span
style="color:#000">51</span><span
style="color:#ce5c00;font-weight:bold">:< [...]
@@ -9405,8 +9417,8 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
<div class="highlight"><pre tabindex="0"
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span
style="display:flex;"><span>curl <span
style="color:#4e9a06">&#34;http://localhost:8080/graphs/hugegraph/graph/vertices&#34;</span>
<span style="color:#000;font-weight:bold">|</span> gunzip
</span></span></code></pre></div><p>此时,可以在调试器中查看详细的变量信息。</p>
<h4 id="5-log4j2-日志配置">5. Log4j2 日志配置</h4>
-<p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraphServer 时读取的。</p>
-<p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ IDEA</strong> 运行与调试
HugeGraphServer 时,修改读取的 Log4j2 配置文件路径:</p>
+<p>默认情况下,运行 <code>InitStore</code> 和
<code>HugeGraphServer</code> 时,读取的 Log4j2 配置文件路径为
<code>hugegraph-dist/src/main/resources/log4j2.xml</code>,而不是
<code>path-to-your-directory/conf/log4j2.xml</code>,这个配置文件是使用<strong>脚本</strong>启动
HugeGraph-Server 时读取的。</p>
+<p>为了避免同时维护两份配置文件,可以考虑在 <strong>IntelliJ IDEA</strong> 运行与调试
HugeGraph-Server 时,修改读取的 Log4j2 配置文件路径:</p>
<ol>
<li>打开之前创建的 <code>Application</code> 配置</li>
<li>点击 <code>Modify options</code> - <code>Add VM
options</code></li>
@@ -9414,10 +9426,10 @@ LICENSE 是 Apache 2.0, 且对应的项目中包含了 NOTICE, 则还需要更
</ol>
<h3 id="可能遇到的问题">可能遇到的问题</h3>
<h4 id="1-java-package-sunmisc-does-not-exist">1. java: package sun.misc
does not exist</h4>
-<p>原因可能是在使用 Java 11 编译时触发了交叉编译,导致项目中使用的 <code>sun.misc.Unsafe</code>
找不到符号。有两种解决方案可供选择:</p>
+<p>原因可能是在使用 <strong>Java 11</strong> 编译时触发了交叉编译,导致项目中使用的
<code>sun.misc.Unsafe</code> 找不到符号。有两种解决方案可供选择:</p>
<ol>
<li>在 IntelliJ IDEA 的 <code>Preferences/Settings</code> 中找到
<code>Java Compiler</code> 面板,然后关闭 <code>--release</code> 选项
(推荐)</li>
-<li>或者将项目的 SDK 版本设置为 8</li>
+<li>或者将项目的 SDK 版本设置为 8 (Deprecated soon)</li>
</ol>
<h4 id="2-log4j2-日志无法打印-l-等位置信息">2. Log4j2 日志无法打印 %l 等位置信息</h4>
<p>这是因为 Log4j2 中使用了 asynchronous loggers,可以参考<a
href="https://logging.apache.org/log4j/2.x/manual/layouts.html#LocationInformation">官方文档</a>进行配置</p>
diff --git a/cn/sitemap.xml b/cn/sitemap.xml
index 41eae7da..33e7700c 100644
--- a/cn/sitemap.xml
+++ b/cn/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/cn/docs/guides/architectural/</loc><lastmod>2023-06-25T21:06:07+08:00</lastmod><xhtml:link
rel="alternate" hreflang="en" href="/docs/guides/architectural/"/><xhtml:link
rel="alternate" hreflang="cn"
href="/cn/docs/guides/architectural/"/></url><url><loc>/cn/docs/config/config-guide/</loc><lastmod>2023-11-01T21:52:52+08:00
[...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/cn/docs/guides/architectural/</loc><lastmod>2023-06-25T21:06:07+08:00</lastmod><xhtml:link
rel="alternate" hreflang="en" href="/docs/guides/architectural/"/><xhtml:link
rel="alternate" hreflang="cn"
href="/cn/docs/guides/architectural/"/></url><url><loc>/cn/docs/config/config-guide/</loc><lastmod>2023-11-01T21:52:52+08:00
[...]
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index b729f01a..e3d1834e 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>/en/sitemap.xml</loc><lastmod>2024-01-22T10:39:24+08:00</lastmod></sitemap><sitemap><loc>/cn/sitemap.xml</loc><lastmod>2024-01-22T10:39:24+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>/en/sitemap.xml</loc><lastmod>2024-01-22T10:39:24+08:00</lastmod></sitemap><sitemap><loc>/cn/sitemap.xml</loc><lastmod>2024-01-24T10:47:36+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file