猿问

mvn exec:java 在 Jetbrains TeamCity 上执行时抛出

我在 Jetbrain 的 TeamCity 上执行 maven exec:java 时遇到了问题。配置在本地没有任何问题,但在 TC 上它不断抛出:


java.lang.ClassNotFoundException: "…"

    at java.net.URLClassLoader.findClass (URLClassLoader.java:382)

    at java.lang.ClassLoader.loadClass (ClassLoader.java:424)

    at java.lang.ClassLoader.loadClass (ClassLoader.java:357)

    at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:270)

    at java.lang.Thread.run (Thread.java:748)

Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:java (default-cli) on project …: An exception occured while executing the Java class. "…"

TC 配置相当简单:


目标:clean install exec:java

额外的命令行参数:-DskipTests  -Dexec.mainClass="…" -Dexec.args="…"

基本上是我在本地使用的。但是使用 TC 它会抛出上述异常。


我尝试将当前工件明确设置为依赖项并将编译依赖项配置为类路径:


<plugin>

    <groupId>org.codehaus.mojo</groupId>

    <artifactId>exec-maven-plugin</artifactId>

    <version>1.6.0</version>

    <dependencies>

        <dependency>

            <groupId>…</groupId>

            <artifactId>…</artifactId>

            <version>${project.version}</version>

        </dependency>

    </dependencies>

    <configuration>

        <classpathScope>compile</classpathScope>

    </configuration>

</plugin>

但没有任何运气。任何帮助,将不胜感激。


莫回无
浏览 202回答 2
2回答

慕妹3242003

尝试添加<mainClass>标签<configuration>,如下所示:<configuration>&nbsp; &nbsp; <mainClass>com.category.main.Master</mainClass>&nbsp; &nbsp; <classpathScope>compile</classpathScope></configuration>然后用命令运行mvn exec:java -Dexec.mainClass=src.com.category.main.Master

慕雪6442864

一切都归结为引号Additional Maven command line parameters:- TC 将它们作为参数传递,因此-Dexec.mainClass="some.package.Class" became“some.package.Class”&nbsp;in maven (instead ofsome.package.Class`)当我比较本地 na 远程运行的调试时,我终于注意到了它:偏僻的:[DEBUG]&nbsp;joining&nbsp;on&nbsp;thread&nbsp;Thread["my.package.SummaryGenerator".main(),5,"my.package.SummaryGenerator"]当地的:[DEBUG]&nbsp;joining&nbsp;on&nbsp;thread&nbsp;Thread[my.package.SummaryGenerator.main(),5,y.package.SummaryGenerator]
随时随地看视频慕课网APP

相关分类

Java
我要回答