4

For some reason this command works fine with my local machine:

mvn clean install -DskipTests=true -Psdk

However for Codeship it does now work and throws this "Cannot find symbol" error. In Codeship the full command is:

jdk_switcher use oraclejdk8
echo $JAVA_HOME
mvn clean install -DskipTests=true -Psdk

In the POM the repository have this:

<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>

Error:

[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
4

4 回答 4

4

您的 Maven 将 Java 版本读取为 1.8,而 pom.xml 说版本是 1.7。

尝试安装所需的版本。

如果已经安装,请检查您的 $JAVA_HOME 环境变量,它应该包含 Java JDK 8 的路径。如果找不到,请修复您的环境变量。

也删除线

 <fork>true</fork>
     <executable>${JAVA_1_8_HOME}/bin/javac</executable>

从 pom.xml

于 2015-07-29T12:57:33.540 回答
3

我遇到过同样的问题。原因是其中一个类被用于

src/main/java/

实际上它存在于

src/test/java
于 2017-07-26T10:42:55.133 回答
2

如果您已正确导入依赖项,则可以尝试以下过程。
首先尝试-
mvn clean
如果成功运行,然后尝试-
mvn install
如果效果很好,那么您可以尝试
mvn compile
-这个过程对我有用。

于 2017-08-30T07:40:27.720 回答
0

我遇到了类似的问题,但是当我在 POM 中更改 Testng 版本时,它解决了这个问题。

<artifactId>testng</artifactId>
<version>6.9.8</version>       // Changed the version to 6.9.8
<scope>test</scope>

于 2019-05-10T14:35:01.907 回答