Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Maven在Scala对象中运行main_Scala_Maven - Fatal编程技术网

如何从Maven在Scala对象中运行main

如何从Maven在Scala对象中运行main,scala,maven,Scala,Maven,我试图使用maven的exec:java目标来运行scala对象 该类已经编译,我们可以从javap中看到它有一个静态main: javap sql/hbase/target/scala-2.10/test-classes/org/apache/spark/sql/hbase/HBaseMainTest.class | grep main public static void main(java.lang.String[]); 让我们尝试如下运行: mvn exec:java -Dexe

我试图使用maven的exec:java目标来运行scala对象

该类已经编译,我们可以从javap中看到它有一个静态main:

javap sql/hbase/target/scala-2.10/test-classes/org/apache/spark/sql/hbase/HBaseMainTest.class | grep main
  public static void main(java.lang.String[]);
让我们尝试如下运行:

mvn  exec:java -Dexec.mainClass="org.apache.spark.sql.hbase.HBaseMainTest"
但结果如何

java.lang.ClassNotFoundException: org.apache.spark.sql.hbase.HBaseMainTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:281)
at java.lang.Thread.run(Thread.java:724)
更新

Gabor提供了答案,以下是工作解决方案:

mvn  exec:java -Dexec.mainClass="org.apache.spark.sql.hbase.HBaseMainTest" -Dexec.classpathScope="test"
尝试将属性设置为
test
。看来你的主要课程是测试之一:

mvn  exec:java -Dexec.mainClass="org.apache.spark.sql.hbase.HBaseMainTest" -Dexec.classpathScope="test"
尝试将属性设置为
test
。看来你的主要课程是测试之一:

mvn  exec:java -Dexec.mainClass="org.apache.spark.sql.hbase.HBaseMainTest" -Dexec.classpathScope="test"

exec:java
是否将测试类添加到类路径?这会让imho感到惊讶。@GáborBakos您可能走对了方向。
exec:java
是否将测试类添加到类路径?这会让imho感到惊讶。@GáborBakos您可能走对了方向。对不起,我输入了一个错误,在命令中将
exec
classpathScope
分开时使用了
而不是
。您可以尝试更新的吗?抱歉,我输入了一个错误,在分隔
exec
classpathScope
的命令中使用了
而不是
。你能试试最新的吗?