Eclipse NoSuchMethod异常;配置构建路径



我有一个maven项目,它实际上构建为多个java项目。项目B包含一个类,它是项目a中类的子类。当我尝试在调试器中运行该类时,当该方法试图从它的父类调用任何功能时,我得到NoSuchMethod错误。

Maven设置被设计为编译每个单独的项目并将其放在Maven存储库中,以便其他项目可以找到它们(它具有依赖性,因此它首先构建预要求项目)。这对于部署来说都很好,但是我不想强迫在eclipse中进行调试的人在每次启动调试器时都要进行maven安装。相反,我尝试将预要求项目添加到适用项目的类路径(构建路径->添加类文件夹)。这行不通。我认为这是由于在我的构建路径中有maven存储库和类路径?但是类文件夹应该被强制解析,更新的类文件夹应该在maven安装之前被解析,对吗?

我如何配置这个工作而不需要每次重新做一个maven安装?

您的pom文件究竟是什么样子的?我经常使用这样的设置:我有一个父Maven项目,它由其他Maven子项目组成。

我将有一个父窗体,看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<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">
<groupId>put group id here</groupId>
<artifactId>name of artifact id</artifactId>
<version>0.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
    <module>example-subproject-1</module>
    <module>example-subproject-2</module>
    </modules>
</project>
然后,我将在子项目中拥有如下所示的pom文件(假设这是子项目1的pom文件):
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<parent>
    <artifactId>artifact id of parent pom</artifactId>
    <groupId>group id of parent pom</groupId>
    <version>version number of parent pom</version>
</parent>
<groupId>group id</groupId>
<artifactId>artifact id</artifactId>
<packaging>packaging</packaging>
<version>1</version>
<name>put name here</name>
<dependencies>
    <dependency>
        <groupId>group id of example subproject 2</groupId>
        <artifactId>example-subproject-2</artifactId>
        <version>version number of example subproject 2</version>
    </dependency>
</dependencies>
</project>

当我以这种方式设置时,如果我在根目录中,我可以编译整个项目。如果我只想编译一个特定的目录,我只需要切换到那个目录。确保在dependencies部分中包含所有需要的子项目。

确保您已经安装了m2eclipse插件。

http://eclipse.org/m2e/download/

同时,安装m2eclipse-wtp插件

http://marketplace.eclipse.org/content/maven-integration-eclipse-wtp .UUdUhBxwrIU

确保您已将项目创建为"Maven"项目。所以,如果你查看你的"ProjectA->Properties->Builders",你应该会看到一个"Maven Project Builder"。

如果您遵循上述所有步骤,您的项目依赖项应该正确解决,并且您应该没有错误。

如果您仍然有错误,请发布您的eclipse项目结构。

最新更新