如何 运行 akka grpc java 示例
How to run the akka grpc java example
好的,按照先决条件和说明使用Java 8 项目创建成功。
sbt new akka/akka-grpc-quickstart-java.g8
然后继续 guide
./gradlew compileJava
也有效。
但随后 ./gradlew --info runServer
失败并出现以下 errors/issues:
Task ':runServer' is not up-to-date because:
Task has not declared any outputs.
和
Error: Main method not found in class com.example.helloworld.GreeterServer, please define the main method as:
public static void main(String[] args)
原版POST:
我在获取 Akka-GRPC 示例到 运行 时遇到问题。
我尝试关注 this guide here 但是当我下载示例项目时它似乎不完整。
这就是树命令输出:
.
├── build.sbt
├── project
│ ├── build.properties
│ └── plugins.sbt
├── sbt
├── sbt.bat
└── sbt-dist
├── bin
│ ├── sbt
│ ├── sbt.bat
│ ├── sbt-launch.jar
│ └── sbt-launch-lib.bash
└── conf
├── sbtconfig.txt
└── sbtopts
4 directories, 11 files
项目结构中没有源文件或 gradlew oder pom.xml。
接下来我克隆了 repository of that example from GitHub 并按照自述文件中的说明进行操作,主要是命令 sbt new akka/akka-grpc-quickstart-java.g8
.
$ sbt new akka/akka-grpc-quickstart-java.g8
[info] Loading settings for project akka-grpc-quickstart-java-g8-build from paradox.sbt,giter8.sbt ...
[info] Loading project definition from /home/johannes/IdeaProjects/akka-grpc-quickstart-java.g8/project
error: error while loading String, class file '/modules/java.base/java/lang/String.class' is broken
(class java.lang.NullPointerException/null)
[error] java.io.IOError: java.lang.RuntimeException: /packages cannot be represented as URI
...//had to remove stacktrace was too long for this post
[error] at xsbt.boot.Boot.main(Boot.scala)
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? [error] java.io.IOError: java.lang.RuntimeException: /packages cannot be represented as URI
[error] Use 'last' for the full log.
然后我进入源文件所在的 project/sources 文件夹 ./src/main/g8/ 并尝试按照那里的指南中的说明进行操作。
由于某些属性错误,这也不起作用:
在此之前,我必须在 ./gradle/wrapper/gradle-wrapper.properties 中设置另一个 gradle 版本(6.1.1,是 4.5.1)以使其与 Java 13.
$ ./gradlew compileJava
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'g8'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not find gradle.plugin.com.lightbend.akka.grpc:akka-grpc-gradle-plugin:$akka_grpc_version$.
Searched in the following locations:
- file:/home/johannes/.m2/repository/gradle/plugin/com/lightbend/akka/grpc/akka-grpc-gradle-plugin/$akka_grpc_version$/akka-grpc-gradle-plugin-$akka_grpc_version$.pom
- https://plugins.gradle.org/m2/gradle/plugin/com/lightbend/akka/grpc/akka-grpc-gradle-plugin/$akka_grpc_version$/akka-grpc-gradle-plugin-$akka_grpc_version$.pom
Required by:
project :
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 4s
为了至少暂时让它工作,我将属性硬编码到 build.gradle 文件中:
//classpath 'gradle.plugin.com.lightbend.akka.grpc:akka-grpc-gradle-plugin:$akka_grpc_version$'
classpath 'gradle.plugin.com.lightbend.akka.grpc:akka-grpc-gradle-plugin:0.7.3'
但这也只是让我到目前为止:
$ ./gradlew compileJava
FAILURE: Build failed with an exception.
* Where:
Build file '/home/johannes/IdeaProjects/akka-grpc-quickstart-java.g8/src/main/g8/build.gradle' line: 20
* What went wrong:
A problem occurred evaluating root project 'g8'.
> Failed to apply plugin [id 'com.google.protobuf']
> Could not create an instance of type com.google.protobuf.gradle.ProtobufSourceDirectorySet.
> 'void org.gradle.api.internal.file.DefaultSourceDirectorySet.<init>(java.lang.String, java.lang.String, org.gradle.api.internal.file.FileResolver, org.gradle.api.internal.file.collections.DirectoryFileTreeFactory)'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
由于字符限制,再次无法包含整个堆栈跟踪。
我错过了什么?
我应该进一步采用哪种方法?
编辑:同时,拉取请求被接受并且主回购(https://github.com/akka/akka-grpc-quickstart-java.g8)是最新的。
我使用 sbt new ... 下载了项目,但是 pom.xml(固定版本:https://github.com/olitazl/akka-grpc-quickstart-java.g8)
中出现错误
示例项目的问题 GreeterServer
class.
中缺少 public
修饰符
因此,您必须将 public
添加到 GreeterServer class 和其中的方法 main
。
public class GreeterServer ...
public static void main(...)
如果您从我的存储库重新创建项目,问题也已解决。
好的,按照先决条件和说明使用Java 8 项目创建成功。
sbt new akka/akka-grpc-quickstart-java.g8
然后继续 guide
./gradlew compileJava
也有效。
但随后 ./gradlew --info runServer
失败并出现以下 errors/issues:
Task ':runServer' is not up-to-date because:
Task has not declared any outputs.
和
Error: Main method not found in class com.example.helloworld.GreeterServer, please define the main method as:
public static void main(String[] args)
原版POST:
我在获取 Akka-GRPC 示例到 运行 时遇到问题。 我尝试关注 this guide here 但是当我下载示例项目时它似乎不完整。
这就是树命令输出:
.
├── build.sbt
├── project
│ ├── build.properties
│ └── plugins.sbt
├── sbt
├── sbt.bat
└── sbt-dist
├── bin
│ ├── sbt
│ ├── sbt.bat
│ ├── sbt-launch.jar
│ └── sbt-launch-lib.bash
└── conf
├── sbtconfig.txt
└── sbtopts
4 directories, 11 files
项目结构中没有源文件或 gradlew oder pom.xml。
接下来我克隆了 repository of that example from GitHub 并按照自述文件中的说明进行操作,主要是命令 sbt new akka/akka-grpc-quickstart-java.g8
.
$ sbt new akka/akka-grpc-quickstart-java.g8
[info] Loading settings for project akka-grpc-quickstart-java-g8-build from paradox.sbt,giter8.sbt ...
[info] Loading project definition from /home/johannes/IdeaProjects/akka-grpc-quickstart-java.g8/project
error: error while loading String, class file '/modules/java.base/java/lang/String.class' is broken
(class java.lang.NullPointerException/null)
[error] java.io.IOError: java.lang.RuntimeException: /packages cannot be represented as URI
...//had to remove stacktrace was too long for this post
[error] at xsbt.boot.Boot.main(Boot.scala)
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? [error] java.io.IOError: java.lang.RuntimeException: /packages cannot be represented as URI
[error] Use 'last' for the full log.
然后我进入源文件所在的 project/sources 文件夹 ./src/main/g8/ 并尝试按照那里的指南中的说明进行操作。 由于某些属性错误,这也不起作用:
在此之前,我必须在 ./gradle/wrapper/gradle-wrapper.properties 中设置另一个 gradle 版本(6.1.1,是 4.5.1)以使其与 Java 13.
$ ./gradlew compileJava
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'g8'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not find gradle.plugin.com.lightbend.akka.grpc:akka-grpc-gradle-plugin:$akka_grpc_version$.
Searched in the following locations:
- file:/home/johannes/.m2/repository/gradle/plugin/com/lightbend/akka/grpc/akka-grpc-gradle-plugin/$akka_grpc_version$/akka-grpc-gradle-plugin-$akka_grpc_version$.pom
- https://plugins.gradle.org/m2/gradle/plugin/com/lightbend/akka/grpc/akka-grpc-gradle-plugin/$akka_grpc_version$/akka-grpc-gradle-plugin-$akka_grpc_version$.pom
Required by:
project :
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 4s
为了至少暂时让它工作,我将属性硬编码到 build.gradle 文件中:
//classpath 'gradle.plugin.com.lightbend.akka.grpc:akka-grpc-gradle-plugin:$akka_grpc_version$'
classpath 'gradle.plugin.com.lightbend.akka.grpc:akka-grpc-gradle-plugin:0.7.3'
但这也只是让我到目前为止:
$ ./gradlew compileJava
FAILURE: Build failed with an exception.
* Where:
Build file '/home/johannes/IdeaProjects/akka-grpc-quickstart-java.g8/src/main/g8/build.gradle' line: 20
* What went wrong:
A problem occurred evaluating root project 'g8'.
> Failed to apply plugin [id 'com.google.protobuf']
> Could not create an instance of type com.google.protobuf.gradle.ProtobufSourceDirectorySet.
> 'void org.gradle.api.internal.file.DefaultSourceDirectorySet.<init>(java.lang.String, java.lang.String, org.gradle.api.internal.file.FileResolver, org.gradle.api.internal.file.collections.DirectoryFileTreeFactory)'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
由于字符限制,再次无法包含整个堆栈跟踪。
我错过了什么? 我应该进一步采用哪种方法?
编辑:同时,拉取请求被接受并且主回购(https://github.com/akka/akka-grpc-quickstart-java.g8)是最新的。
我使用 sbt new ... 下载了项目,但是 pom.xml(固定版本:https://github.com/olitazl/akka-grpc-quickstart-java.g8)
中出现错误示例项目的问题 GreeterServer
class.
public
修饰符
因此,您必须将 public
添加到 GreeterServer class 和其中的方法 main
。
public class GreeterServer ...
public static void main(...)
如果您从我的存储库重新创建项目,问题也已解决。