Java Spark 框架,部署失败

Java Spark Framework, deploy failing

这看起来应该是一个微不足道的任务。但我不太清楚我应该做什么。我是 Maven/Spark 的新手。在四处搜索之后,仔细查看文档等等。我不知道如何启动我的 spark 应用程序?

我按照本指南在 Intellij 中进行了设置。 https://sparktutorials.github.io/2015/04/02/setting-up-a-spark-project-with-maven.html

我可以 运行 除了部署之外的所有 Maven 任务。

部署失败并出现此错误。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project framework: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.

我不确定这是否重要?部署任务是否旨在启动服务器?我不确定。

POM.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.krishollenbeck.framework</groupId>
  <artifactId>framework</artifactId>
  <version>1.0</version>
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <dependencies>
    <dependency>
      <groupId>com.sparkjava</groupId>
      <artifactId>spark-core</artifactId>
      <version>2.5</version>
    </dependency>
  </dependencies>
</project>

这是 DOCS 所说的。

What about starting the server? The server is automatically started when you do something that requires the server to be started (i.e. declaring a route or setting the port). You can also manually start the server by calling init().

http://sparkjava.com/documentation.html#stopping-the-server

好吗?那是什么意思?通常有一些命令或其他东西来启动服务器。

问题:TL;DR

如何启动 spark 服务器?

另类题外话:

spark还在维护吗?这是一个不好用的框架吗?我正在寻找轻量级 java 服务器。大多数应用程序逻辑将在客户端处理。只需要在服务器端处理一些基本的登录/CRUD 内容。并构建一些 restful API.

项目结构:(仅供参考)

要启动服务器,文档还提到:

You can also manually start the server by calling init(). See: http://sparkjava.com/documentation.html#stopping-the-server

最后一次提交是在 4 天前,我敢打赌它仍然受到支持。

https://github.com/perwendel/spark/

最后,您的问题来自于您需要告诉 Maven 部署插件使用标签准确部署的位置:

To enable this mojo to function, you must include a valid section POM

参见:http://maven.apache.org/plugins/maven-deploy-plugin/usage.html

至于轻量级数据库,我使用 hsqldb 但我想这更多是个人喜好问题。

运行 来自 Intellij 的主要 class。或者,如果你想 运行 它与 Maven 这样做:

mvn exec:java -Dexec.mainClass=my.IakaMain

并确保将 my.IakaMain 更改为 yourpackage.YourClassName

或 运行 通过 Intellij 调试配置:(像这样)

运行 并查看:(请注意端口号不是通常的80或8080)

http://localhost:4567/hello

注意:如果您收到此警告(烦人)。

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

将此添加到您的 pom.xml

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.21</version>
</dependency>