Maven编译“找不到符号”

时间:2015-04-30 14:41:24

标签: 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

4 个答案:

答案 0 :(得分:3)

我有同样的问题。 原因是其中一个类用于

function myWooAutoCompleteOrder($orderID) {

    //  Only continue if we have $orderID

    if (!$orderID) {
        return;
    }

    //  Get order

    $order = wc_get_order($orderID);

    //  Update order to completed status

    if ($order) {
        $order->update_status('completed');
    }
}

add_filter('woocommerce_thankyou', 'myWooAutoCompleteOrder');

实际上它存在于

src/main/java/

答案 1 :(得分:2)

如果您已正确导入依赖关系,则可以尝试以下过程 首先尝试 -
mvn clean
如果成功运行,那么试试 mvn install
如果这样可以正常工作,那么你可以试试 mvn compile
这个过程对我有用。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

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