在命令行中使用maven编译整个项目后如何运行单个类?

时间:2017-10-09 18:55:02

标签: java eclipse maven classpath junit4

我能够在Eclipse中运行它,但是在使用命令行运行它时会出现问题。

我想要运行的主要java类是 Example.java (在 src / main / java / examples 中) 请注意,虽然在主Example.java中有一个简单的junit测试,我不希望在src / test / java中有任何与java文件相关的测试。

首先我 cd pom.xml 所在的目录

cd pathToTheProject / projectname

我执行以下操作:

mvn clean
mvn compile
mvn package

现在只运行名为 Example.class 的主类,我编写以下内容(我想 pathToMavenLib / .m2 / repository / * 包含所需的所有jar文件) :

java -cp“pathToMavenLib / .m2 / repository / *”examples.Example

但是这给了我错误:错误:无法找到或加载主类示例。示例

编辑:
我使用 mvn exec解决了我的问题:java -Dexec.mainClass =“org.junit.runner.JUnitCore”-Dexec.arguments =“examples.Example”

1 个答案:

答案 0 :(得分:2)

您可以将可部署工件创建为war文件(通过使用<packaging>war</packaging>将打包更改为war),该文件将包含其lib目录下的所有相关jar文件。
然后,您可以运行:mvn clean install

然后,您可以通过提供class-path参数来提取它并直接运行您的类文件。

其他选项是使用maven run plugin - mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...

参考:Maven Run Project