我在 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>但没有任何运气。任何帮助,将不胜感激。
2 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
尝试添加<mainClass>标签<configuration>,如下所示:
<configuration>
<mainClass>com.category.main.Master</mainClass>
<classpathScope>compile</classpathScope>
</configuration>
然后用命令运行mvn exec:java -Dexec.mainClass=src.com.category.main.Master
慕雪6442864
TA贡献1812条经验 获得超5个赞
一切都归结为引号Additional Maven command line parameters:
- TC 将它们作为参数传递,因此-Dexec.mainClass="some.package.Class" became
“some.package.Class” in maven (instead of
some.package.Class`)
当我比较本地 na 远程运行的调试时,我终于注意到了它:
偏僻的:
[DEBUG] joining on thread Thread["my.package.SummaryGenerator".main(),5,"my.package.SummaryGenerator"]
当地的:
[DEBUG] joining on thread Thread[my.package.SummaryGenerator.main(),5,y.package.SummaryGenerator]
添加回答
举报
0/150
提交
取消