Java Spark Framework,部署失败

时间:2017-02-27 16:32:25

标签: java maven intellij-idea spark-framework

这似乎应该是一项微不足道的任务。但我无法弄清楚我应该做些什么。我是Maven / Spark的新手。在搜索之后,仔细查看文档,然后查看不是。我无法弄清楚如何启动我的火花应用程序?

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

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

enter image description here

部署因此错误而失败。

[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服务器?

其他主题:

火花仍然保持?这是一个糟糕的框架吗?我正在寻找一个轻量级的Java服务器。大多数app逻辑都将在客户端处理。只需要在服务器端处理一些基本的登录/ CRUD内容。并构建一些宁静的API。

项目结构:(仅供参考)

enter image description here

2 个答案:

答案 0 :(得分:2)

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

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

并确保使用yourpackage.YourClassName

更改my.IakaMain

或通过Intellij调试配置运行:(如此)

enter image description here

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

http://localhost:4567/hello

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

  

SLF4J:无法加载类&#34; org.slf4j.impl.StaticLoggerBinder&#34;。   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>

答案 1 :(得分:1)

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

  

您也可以通过调用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,但我想这更像是一种品味问题。