【问题标题】:Why maven did not make 2 Jar for 2 different main methods?为什么 maven 没有为 2 种不同的主要方法制作 2 Jar?
【发布时间】:2017-03-06 17:39:04
【问题描述】:

我正在尝试使用 maven 项目制作 2 个不同的罐子。我已经使用它们中的 main 指定了类的路径。我想创建 2 个具有不同主要可运行对象的 jar。
这是我尝试添加的内容:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>pf.super.Analyzer</mainClass>
                            <mainClass>pf.super.Trainer</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

在使用 clean and install 作为参数制作 maven 之后,我不得不使用不同的 jar,但两者都显示相同的结果。这意味着一个主要课程被参加,而另一个根本不参加。
请指导我哪里出错以及如何解决问题?

【问题讨论】:

  • 一个清单只能包含一个主类条目。你必须重新考虑你的方法。
  • 首先制作两个包含 Main 类的不同模块,并从中创建两个单独的 jar 文件。使公共类成为依赖项..

标签: java maven jar


【解决方案1】:

你只能有一个默认的main 方法类。你可以做的是

在命令行中定义你想要的 main。

java -cp myjar.jar pf.super.Trainer

或者你可以有一个主电源来启动/调用你的其他主电源

public class Main {
    public static void main(String... args) {
        pf.super.Analyzer.main(args);
        pf.super.Trainer.main(args);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 2020-02-25
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多