我正在创建一个通用的utils maven项目。我已将此utils项目作为依赖项添加到我的主maven项目中。看起来我可以在我的utils pom中使用插件来生成可执行jar。如果jar是可执行的,我可以通过添加它作为依赖项在我的主项目中运行它吗?如果可以,如何将依赖关系的路径添加到exec-maven-plugin
?
main_pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>default-cli</id>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument>
<!-- How can I get the dependency path here? -->
<argument>path/to/executable-dependency-jar/name.jar</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
为方便起见,我希望它作为依赖项。但我不知道依赖项是否可执行。而且我不知道如何在xml中获得如上所示的依赖路径。我的想法是:
mvn exec:exec
。答案 0 :(得分:1)
不确定你要做什么,但你可以拥有一个可执行jar,并在另一个项目中使用它。
但在这种情况下,您不需要将其称为可执行文件。这样就可以简单地调用一些java代码。
可执行jar基本上是一个jar,至少有一个类包含一个有效的main方法(加上一个清单来知道哪个类是主类)。
您可以在Java代码中使用此类,而无需“退出”jvm,并将jar用作可执行文件。
然而,您可以从外部(即从命令行)调用可执行jar。
通常,您有一个业务方法doStuff(某些签名),您可以从任何Java代码(这可能是一个静态方法)调用,主要方法只是解析命令行参数并调用doStuff方法。