Getting the following build error: “the type {---} cannot be resolved. it is indirectly referenced from required .class files”

后端 未结 2 487
滥情空心
滥情空心 2020-12-19 09:28

So, I have the following setup in Eclipse (Java):

  1. I have a project (lets call this \"project 1\") which provides an interface (which is package private)
  2. <
相关标签:
2条回答
  • 2020-12-19 10:12

    This is a "transitive dependency". You need on your classpath all classes that are required by any class you use. So you need to have the classes from project 1 in the classpath somehow - you can package them as a .jar, for example. Or you can go to Build Path > Order and Export of Project 2, and mark Project 1 as exported.

    An important thing here is that the project dependencies are a mere development "goodie" - when you execute the program standalone (or deploy it to container), the Eclipse project dependencies are gone. So you must ensure your dependencies are met.

    0 讨论(0)
  • 2020-12-19 10:16

    Not sure if this is what you're looking for. Try this -

    1. In Eclipse, right-click Project2, select Build Path -> Configure Build Path
    2. Go to Order and Export tab. it should have Project1 listed. Check the box in front of it.
    3. Rebuild your projects.

    Basically, you're exporting the Project1 dependency from project2. So any project that adds project2 as a dependency will see Project1 too without explicitly having to add it to the classpath. Eclipse will transparently do that.

    0 讨论(0)
提交回复
热议问题