java - Spark Java 和类路径

标签 java maven web spark-java

我正在尝试从 http://www.sparkjava.com/ 开始,一个小型 Java Web 框架。说明告诉您将其添加为 Maven 依赖项(已完成),但是当我 mvn package 时,我得到一个 class def not found for spark/Route。

我假设这是因为 Spark 不在我的类路径中。我怎样才能添加它?它会放在 pom.xml 中吗?

编辑:抱歉,这是我的pom.xml:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.bernsteinbear.myapp</groupId>
  <artifactId>myapp</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>myapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.sparkjava</groupId>
      <artifactId>spark-core</artifactId>
      <version>1.1</version>
    </dependency>
  </dependencies>
</project>

编辑:跟踪

λ chaos myapp → java -cp target/myapp-1.0-SNAPSHOT.jar com.bernsteinbear.myapp.App
Exception in thread "main" java.lang.NoClassDefFoundError: spark/Route
Caused by: java.lang.ClassNotFoundException: spark.Route
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

aaa 和来源(来自主页的示例):

λ chaos myapp → cat src/main/java/com/bernsteinbear/myapp/App.java
/**
 * Hello world!
 *
 */

package com.bernsteinbear.myapp;
import spark.*;
import static spark.Spark.*;

public class App {

    public static void main(String[] args) {

    get(new Route("/hello") {
        @Override
        public Object handle(Request request, Response response) {
            return "Hello World!";
        }
        });

    }

}

最佳答案

什么对我有用:

mvn package
mvn exec:java -Dexec.mainClass="com.your.class.with.main.method"

关于java - Spark Java 和类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055482/

相关文章:

database - 存储要在网站上显示的大型预格式化文本的最佳方式?

java - 使用正则表达式拆分字符串

java - Java多线程数组排序

maven - ReSTLet Maven 依赖项

java - 通常为不同的项目创建一个父POM吗?

java - maven依赖和在WEB-INF/lib中手动添加jar的区别

html - 需要实时聊天 (Node.js) 自定义字体帮助

java - Ivy 和 Nexus 的 Sourceforge 组织属性

java - 使用 Java 从推文文本中查找城市、国家、公司名称

javascript - 使用 AngularJS 将 HTML 文件中的数字限制为小数点后两位