2017-02-27 50 views
1

這看起來應該是一件小事。但我無法弄清楚我應該做什麼。我是Maven/Spark的新手。經過四處搜尋,仔細查看文檔以及沒有。我無法弄清楚如何啓動我的火花應用程序?Java 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

如何啓動火花服務器?

偏離主題的其他排序:

是火花仍然保持?這是一個糟糕的框架使用?我正在尋找一個輕量級的java服務器。大多數應用邏輯將被處理客戶端。只需要處理服務器端的一些基本的登錄/ CRUD內容。並構建一些寧靜的API。

項目結構:(FYI)

enter image description here

回答

2

從Intellij運行你的主類。或者,如果你想與Maven運行它做到這一點:

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

,並確保你改變my.IakaMain與yourpackage.YourClassName

或通過的IntelliJ調試配置運行:(像這樣)

enter image description here

運行和查看:(請注意端口號不是通常的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> 
+0

嗯..也許這是我錯誤的原因。我實際上遇到了intellij的一個問題。它一直試圖使用1.5進行編譯。即使在我把所有東西都改爲1.8之後。 –

+0

仍然使用''嘗試運行部署時出現同樣的錯誤 –

+0

因爲部署階段需要在部署maven插件文檔中所述的pom中的分發管理部分 – Adonis

1

要啓動文檔還提到服務器:

您也可以手動在調用init啓動服務器()。 請參閱:http://sparkjava.com/documentation.html#stopping-the-server

最後提交爲4天前,我打賭它仍然支持。

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

最後的問題來自於你需要告訴maven的部署插件哪裏有標籤準確部署的事實:

要啓用此魔力發揮作用,必須包括一個有效部分POM

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

至於二極管燈tweight數據庫,我使用hsqldb,但後來我認爲這更多的是品味問題。

+0

'您也可以手動啓動通過調用初始化服務器()'我讀到過。張貼在我的問題。但是我有點困惑呢?正在尋找一個例子。 –

+0

啓動你的應用程序,然後按照@moldovean所述檢查localhost:4567 – Adonis

+0

我現在就開始運行了。感謝您的幫助。 –