在Eclipse中,Maven编译失败并显示“找不到符号”,它会编译

夏普金

我在Maven中遇到编译错误,但是在Eclipse中一切正常。

我做错了什么还是Maven错误?

我创建了一个代码段,因此您可以尝试重现它。

这是Java源文件和pom.xml。

package p1;

import p1.A.D.C;
import p1.p2.E;

public class A {
    interface B<T> {
        T methodB();
    }

    class D implements B<E> {
        C c = new C();

        public C getC() {
            return c;
        }

        class C {
            public void methodC() {
                System.out.println(this);
            }
        }

        @Override
        public E methodB() {
            return new E();
        }
    }

    public void methodA() {
        D d = new D();
        d.methodB();
        C c = d.getC();
        c.methodC();
    }

    public static void main(String[] args) {
        A a = new A();
        a.methodA();
    }
}


package p1.p2;

public class E {
}


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>mvntst</groupId>
  <artifactId>test</artifactId>
  <version>0</version>
  <packaging>jar</packaging>
  <name>mvntst</name>
</project>

运行时mvn clean compile,得到以下输出:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project test: Compilation failure
[ERROR] /C:/dev/test/CompilerTest/MavenTest/src/main/java/p1/A.java:[6,30] cannot find symbol
[ERROR] symbol:   class E                                                                                                                       
[ERROR] location: class p1.A
[ERROR] -> [Help 1]                                                                                                                             
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.                                                             
[ERROR] Re-run Maven using the -X switch to enable full debug logging.                                                                          
[ERROR]                                                                                                                                         
[ERROR] For more information about the errors and possible solutions, please read the following articles:                                       
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

这是结果mvn --version

Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T23:10:27+03:00)
Maven home: C:\dev\apache-maven-3.3.1\bin\..
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_40\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"

如果您反转进口顺序...

import p1.p2.E;
import p1.A.D.C;

...它会编译就好了。这可能是由于编译器假设文件夹A,D和C位于下方p1,而事实并非如此。

但不是这样做(这只是感觉错了),你应该改变你带来怎样CmethodA

public void methodA() {
    D d = new D();
    d.methodB();
    D.C c = d.getC();
    c.methodC();
}

您也可以摆脱内部类的导入,因为上述内容不再需要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Maven编译“找不到符号”

来自分类Dev

Maven编译给出:找不到符号-对于坐在同一应用程序中的类

来自分类Dev

Java中的编译错误:找不到符号

来自分类Dev

错误:找不到符号类编译

来自分类Dev

找不到符号(java编译时错误)

来自分类Dev

Java在编译期间找不到符号

来自分类Dev

编译器错误-找不到符号

来自分类Dev

编译器找不到符号

来自分类Dev

编译时错误:找不到符号Jlabel

来自分类Dev

Java编译错误:找不到符号

来自分类Dev

从cmd编译Java程序时,出现“错误:找不到符号”,但是在Eclipse中却没有

来自分类Dev

编译失败:找不到-lboost_thread

来自分类Dev

ffmpeg 编译失败,cuda,找不到 libnpp

来自分类Dev

Maven + Eclipse编译失败,终端上的Maven编译正常

来自分类Dev

Maven编译错误:找不到具有本地依赖关系的符号

来自分类Dev

为什么编译失败并显示“找不到:有价值的用户”?

来自分类Dev

由于出现“找不到符号类X”错误,因此无法在Intellij Idea中编译Java类

来自分类Dev

jsp文件中的编译错误“找不到符号:变量位置:类simplyfiedJSPServlet”

来自分类Dev

编译错误:在Android Studio中找不到符号AudioEffect :: setParameter

来自分类Dev

线程“main”中的异常 java.lang.RuntimeException:无法编译的源代码 - 找不到符号

来自分类Dev

项目会编译,但不会在编译器中显示信息

来自分类Dev

在Junit测试中找不到符号失败

来自分类Dev

(Java)编译时出现“错误:找不到符号”?

来自分类Dev

Java编译错误找不到接口符号

来自分类Dev

编译错误:找不到符号Suspend和AsynchronousResponse

来自分类Dev

为C ++编译时找不到符号,但为C找到

来自分类Dev

编译Java程序“找不到符号”时发生错误

来自分类Dev

IntelliJ Java编译找不到附加模块的符号

来自分类Dev

RuntimeException:无法编译的源代码-找不到符号

Related 相关文章

  1. 1

    Maven编译“找不到符号”

  2. 2

    Maven编译给出:找不到符号-对于坐在同一应用程序中的类

  3. 3

    Java中的编译错误:找不到符号

  4. 4

    错误:找不到符号类编译

  5. 5

    找不到符号(java编译时错误)

  6. 6

    Java在编译期间找不到符号

  7. 7

    编译器错误-找不到符号

  8. 8

    编译器找不到符号

  9. 9

    编译时错误:找不到符号Jlabel

  10. 10

    Java编译错误:找不到符号

  11. 11

    从cmd编译Java程序时,出现“错误:找不到符号”,但是在Eclipse中却没有

  12. 12

    编译失败:找不到-lboost_thread

  13. 13

    ffmpeg 编译失败,cuda,找不到 libnpp

  14. 14

    Maven + Eclipse编译失败,终端上的Maven编译正常

  15. 15

    Maven编译错误:找不到具有本地依赖关系的符号

  16. 16

    为什么编译失败并显示“找不到:有价值的用户”?

  17. 17

    由于出现“找不到符号类X”错误,因此无法在Intellij Idea中编译Java类

  18. 18

    jsp文件中的编译错误“找不到符号:变量位置:类simplyfiedJSPServlet”

  19. 19

    编译错误:在Android Studio中找不到符号AudioEffect :: setParameter

  20. 20

    线程“main”中的异常 java.lang.RuntimeException:无法编译的源代码 - 找不到符号

  21. 21

    项目会编译,但不会在编译器中显示信息

  22. 22

    在Junit测试中找不到符号失败

  23. 23

    (Java)编译时出现“错误:找不到符号”?

  24. 24

    Java编译错误找不到接口符号

  25. 25

    编译错误:找不到符号Suspend和AsynchronousResponse

  26. 26

    为C ++编译时找不到符号,但为C找到

  27. 27

    编译Java程序“找不到符号”时发生错误

  28. 28

    IntelliJ Java编译找不到附加模块的符号

  29. 29

    RuntimeException:无法编译的源代码-找不到符号

热门标签

归档