【发布时间】:2015-07-10 07:58:46
【问题描述】:
由于某种原因,这个命令在我的本地机器上运行良好:
mvn clean install -DskipTests=true -Psdk
但是,对于 Codeship,它现在可以工作并抛出此“找不到符号”错误。 在 Codeship 中,完整的命令是:
jdk_switcher use oraclejdk8
echo $JAVA_HOME
mvn clean install -DskipTests=true -Psdk
在 POM 中,存储库有这个:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
错误:
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ client-app ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 65 source files to /home/rof/src/bitbucket.org/company/client-app/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/rof/src/bitbucket.org/company/client-app/src/main/java/com/client/rest/resources/MyResource.java:[3,61] cannot find symbol
symbol: class MyEntity
【问题讨论】:
-
我们需要查看完整的错误信息。
-
您缺少依赖项或您的代码有问题!
-
我觉得已经很清楚了:
MyEntity类不包含在编译类路径中。 -
有两种可能的情况:
MyEntity文件中没有MyEntity类的导入,或者类路径中没有 MyEntity 类。 -
除了 Dawid 和 m0skit0 提供的答案之外,您可以尝试在本地系统上使用相同的 JDK 进行编译。我意识到您的 POM 明确指出了 1.7,但值得一试,至少可以排除它。我知道我过去曾遇到过类似的问题。