我有一个在 pom 文件中有最终版本的项目,比如说 12.3.45。我前段时间已经为这个版本构建了代码,所有构建的 jar 都在本地 maven repo 中。
然后在某个时候我运行了 mvn clean,所以所有的目标文件夹都被删除了。
现在我想使用 mvn exec:java 尽快执行一些代码。最好不要建造任何东西,因为为什么不呢?所有的罐子在某个时候都已经构建好了,我知道在那之后没有任何代码更改。如何强制 maven 尽快执行代码,而不是重新编译任何东西,而只是重用本地 repo 中的 jars?谢谢。
问问题
677 次
1 回答
0
- 如果您的工件位于本地或远程存储库中,您可以将它们用作依赖项。
- 您可以使用 exec-maven-plugin 的选项 includeProjectDependencies 或 includePluginDependencies 在 java 执行中使用它们 https://www.mojohaus.org/exec-maven-plugin/java-mojo.html#includePluginDependencies。includeProjectDependencies 选项默认启用(true)。
mvn exec:java
您可以执行 exec-maven-plugin 而无需使用命令构建任何内容
指示:
要运行 exec-maven-plugin,您需要一个主类来运行。我假设你的项目中有一个。如果你不这样做 - 你需要用一个主类制作一个单独的项目。
- 创建一个空白的 Maven 项目。
- 在项目中添加 exec-maven-plugin 配置。设置主类
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>pack.App</mainClass>
</configuration>
</plugin>
</plugins>
</build>
- 将您的工件作为项目的依赖项包含在内
<dependencies>
<dependency>
<groupId>my.group</groupId>
<artifactId>myartifact</artifactId>
<version>12.3.45</version>
</dependency>
</dependencies>
- 运行以从工件
mvn exec:java
执行com.my.package.MyMainClass
主类my.group.myartifact
编辑:
- includeProjectDependencies 选项默认启用(true)
于 2019-09-16T16:39:03.153 回答