Maven 编译 "Cannot find symbol"
Maven compile "Cannot find symbol"
出于某种原因,此命令在我的本地计算机上运行良好:
mvn clean install -DskipTests=true -Psdk
但是对于 Codeship,它现在可以工作并抛出此 "Cannot find symbol" 错误。
在 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
您的 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
我遇到了同样的问题。
原因是在
中使用了 class 之一
src/main/java/
它实际上存在于
src/test/java
如果您已经正确导入依赖项,您可以尝试以下过程。
第一次尝试-
mvn clean
如果运行成功然后尝试-
mvn install
如果这工作正常,那么您可以尝试-
mvn compile
这个过程对我有用。
我遇到了类似的问题,但是当我在 POM 中更改 Testng 版本时,问题就解决了。
<artifactId>testng</artifactId>
<version>6.9.8</version> // Changed the version to 6.9.8
<scope>test</scope>
出于某种原因,此命令在我的本地计算机上运行良好:
mvn clean install -DskipTests=true -Psdk
但是对于 Codeship,它现在可以工作并抛出此 "Cannot find symbol" 错误。 在 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
您的 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
我遇到了同样的问题。 原因是在
中使用了 class 之一src/main/java/
它实际上存在于
src/test/java
如果您已经正确导入依赖项,您可以尝试以下过程。
第一次尝试-
mvn clean
如果运行成功然后尝试-
mvn install
如果这工作正常,那么您可以尝试-
mvn compile
这个过程对我有用。
我遇到了类似的问题,但是当我在 POM 中更改 Testng 版本时,问题就解决了。
<artifactId>testng</artifactId>
<version>6.9.8</version> // Changed the version to 6.9.8
<scope>test</scope>