【问题标题】:Java Spark Framework, deploy failingJava Spark 框架,部署失败
【发布时间】:2017-04-20 01:40:04
【问题描述】:

这似乎应该是一项微不足道的任务。但我无法完全弄清楚我应该做什么。我是 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 所说的。

启动服务器呢?服务器自动启动 当您执行需要启动服务器的操作时(即 声明路由或设置端口)。也可以手动启动 服务器通过调用 init()。

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

好吗?这意味着什么?通常有一些命令或一些东西来启动服务器。

问题:TL;DR

如何启动 spark 服务器?

其他离题:

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

项目结构:(仅供参考)

【问题讨论】:

    标签: java maven intellij-idea spark-framework


    【解决方案1】:

    从 Intellij 运行你的主类。或者,如果你想用 maven 运行它:

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

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

    或者通过 Intellij Debug Configuration 运行:(像这样)

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

    http://localhost:4567/hello

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

    SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J: 请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder 了解更多信息 详情。

    将此添加到您的 pom.xml 中

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

    【讨论】:

    • 嗯.. 也许这是我错误的原因。我实际上遇到了 intellij 的问题。它一直在尝试使用 1.5 进行编译。即使在我将所有内容都更改为 1.8 之后。
    • 使用 &lt;build&gt; 尝试运行 deploy 时仍然遇到同样的错误
    • 因为部署阶段需要您的 pom 中的分发管理部分,如部署 maven 插件的文档中所述
    • 这让我朝着正确的方向前进。我让它运行起来。我用一些额外的信息/步骤编辑了你的答案。希望你不要介意。谢谢,
    【解决方案2】:

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

    您也可以通过调用 init() 手动启动服务器。 见:http://sparkjava.com/documentation.html#stopping-the-server

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

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

    最后你的问题来自于你需要告诉 maven deploy 插件在哪里使用标签准确部署:

    要启用此 mojo 功能,您必须包含有效的部分 POM

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

    至于轻量级数据库,我使用hsqldb,但我想这更像是一个品味问题。

    【讨论】:

    • You can also manually start the server by calling init() 我也读过。将其发布在我的问题中。但我对此有点困惑?正在寻找一个例子。
    • 启动您的应用程序,然后检查 localhost:4567,如 @moldovean 所述
    • 我现在开始运行了。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多