【发布时间】:2019-08-07 05:01:08
【问题描述】:
我在 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>
但没有任何运气。任何帮助将不胜感激。
【问题讨论】:
-
有
Caused by例外吗?尝试使用调试信息从命令行在 teamcity 代理上运行 mvn 命令。也许你会看到问题 -
很遗憾没有
Cuased by。我会尝试从命令行运行它,但我们将它 dockerized 并且一切都是临时的,这使得它有点棘手 -
调试输出看起来不错``` [13:20:31] : [Step 1/1] [DEBUG] 收集的项目类路径 [/opt/teamcity/buildAgent/work/dbebb49e09b39be3/target/类] [13:20:31]:[步骤 1/1] [调试] 添加到类路径:文件:/opt/teamcity/buildAgent/work/dbebb49e09b39be3/target/classes/ ... [13:20:31]:[ Step 1/1] [DEBUG] 加入线程 Thread["….SummaryGenerator".main(),5,"….SummaryGenerator"] [13:20:31]W: [Step 1/1] [WARNING] [ 13:20:31] : [步骤 1/1] java.lang.ClassNotFoundException: "….SummaryGenerator" ``