java - Maven编译 "Cannot find symbol"

标签 java maven codeship

出于某种原因,此命令在我的本地计算机上运行良好:

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

最佳答案

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

关于java - Maven编译 "Cannot find symbol",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29970729/

相关文章:

java - JNI C++ 到 Java 32 位图像无法正确显示

java - 在 Maven 构建阶段复制文件

java - Java 语言 Codeship 中的设置和测试命令

meteor + CodeShip + 模数

mysql - 如何在 CodeShip Basic 的测试管道中为 Laravel 应用程序运行自定义 mysql 脚本?

java - GestureDetector.SimpleOnGestureListener 不考虑 View 比例因子?

java - 具有数据加密功能的 PostgreSQL JDBC 驱动程序

java - 将 JPanel 添加到 JPanel 数组

java - Eclipse 插件的跨项目版本控制

maven - 将代码格式化为 Doxia Apt 格式