运行从终端

时间:2018-04-18 11:31:00

标签: java maven spring-boot

我在基于Maven的项目(Spring Boot)中有两个主要类。我在<start-class>中使用pom.xml属性来表示Spring Boot主类。另一个是我需要手动运行的过程。

这是项目的结构:

  • 项目(pom.xml目录)位于~/projects/coolproject
  • 包(包含类)位于~/projects/coolproject/src/main/java
  • 我想手动执行的主要类是~/projects/coolproject/src/main/java/com/company/Process.java

运行mvn package后,我想运行Process.class,但我收到Could not find or load main class错误。我试过这个:

  • ~/projects/coolproject/src/main/java开始,执行java com.company.Process
  • ~/projects/coolproject/src/main/java开始,执行java -cp . com.company.Process
  • ~/projects/coolproject/src/main/java/com/company开始,执行java Process
  • ~/projects/coolproject/开始,执行java -cp target/coolproject-1.0.0-SNAPSHOT.jar com.company.Process

没有成功。我该怎么办?

我尝试使用Maven Exec插件运行它。来自pom.xml&#39; s dir:

$ mvn exec:java -Dexec.mainClass="com.company.Process"

但是它运行另一个主类(Spring Boot的主类)。它忽略了mainClass param。

1 个答案:

答案 0 :(得分:2)

正如评论中所提到的,在使用spring boot时,您应该使用dat$Col3 <- unlist(l3) 而不是start-class作为exec插件中的参数。尝试:

mainClass

或者,如果要使用mvn exec:java -Dstart-class=com.company.Process 来运行主类,则需要传递正确的依赖项。似乎java -cp没有构建coolproject-1.0.0-SNAPSHOT.jar所需的依赖项。要构建包含所有依赖项的jar,可以使用maven-assembly-plugin。然后你可以尝试:

com.company.Process