我在基于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。
答案 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