【发布时间】:2015-03-15 23:21:19
【问题描述】:
我正在为自定义集成测试编写一个 maven-mojo。现在的问题是,我需要 mojo 执行中的 jar 文件。如果我将我的项目配置为在阶段“包”上运行我的自定义插件并运行mvn package,它工作得很好,我可以使用
@Component( role = MavenProject.class )
private MavenProject project;
//.... in execute:
project.getArtifact().getFile()
但是如果我自己运行我的目标mvn mypluginname:mygoal getFile() 只会返回 null。我的 mojo 类用 @Execute( phase = LifecyclePhase.PACKAGE ) 注释,这不应该执行所有生命周期来“打包”,所以 .jar 是“准备好”了吗?我在这里做错了吗?
【问题讨论】:
-
您的集成测试有什么特别之处会很有趣吗?能再详细一点吗?
-
好吧,集成测试可能是错误的词。我想做的是像 jetty:run 这样的事情。我的软件/项目有点像一个插件,所以我想用我的 .jar 作为参数启动其他软件,所以我的其他软件加载它并可以告诉我,我的项目是否正常工作。