首页 > 其他 > 详细

Maven: exec-maven-plugin 设置 classpathScope

时间:2020-01-06 22:53:13      阅读:180      评论:0      收藏:0      [点我收藏+]

因为项目的pom文件中依赖定义scope为provided,只能在compile与test阶段引入,如下。

<dependency>
    <groupId>${project.groupId}</groupId>
    <artifactId>atser-common</artifactId>
    <version>${project.parent.version}</version>
    <scope>provided</scope>
</dependency>

通过maven exec-maven-plugin 执行调用java执行main函数如下

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.6.0</version>
                <executions>
                    <execution>
                        <id>pythoncodegenerator</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>java</goal>
                        </goals>
                        <configuration>
                            <mainClass>com.hhasdf.PythonCodeGenerator</mainClass>
                            <arguments>
                                <argument>D:\\testcode\\</argument>
                            </arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

程序会报java.lang.NoClassDefFoundError错误,这是因为在plugin的java阶段,classpath找不到依赖范围是provided级别的jar包。

这里解决方法为修改该task的classpath范围,修改为生命周期为compile阶段:<classpathScope>compile</classpathScope>

此时就不会找不到依赖啦~

有问题还可以查阅plugins的官方文档地址:https://www.mojohaus.org/exec-maven-plugin/index.html,讲的蛮详细的。

Maven: exec-maven-plugin 设置 classpathScope

原文:https://www.cnblogs.com/xun-meng/p/12158077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!