Eclipse项目找不到“org.joda”

时间:2014-02-17 03:11:57

标签: java eclipse maven jodatime

我正在使用Eclipse Kepler和Apache Maven 3.1.1。我刚刚安装了两个并且据我所知做得很好。

我正在尝试从Maven存储库安装Joda Time。我将依赖项添加到pom.xml中,但即使使用maven clean install,我的项目也无法解析joda库。

我的存储库位于USER_FOLDER / .m2 / repository /。在我在提示符中导航到我的项目文件夹并运行“mvn clean”,然后运行“mvn install”之后,joda-time文件夹及其内容就出现在那里。

我没有在Eclipse项目中更改任何构建路径或其他项目设置。

安装了Eclipse Maven集成。

我按照春季网站上的教程:http://spring.io/guides/gs/maven/

我的文件结构如下:

USER
|____ .m2
|    |____ repository
|         |____ joda-time [and other folders such as org]
|              |____ joda-time
|                   |____ 2.3
|                        |____ _remote.repositories
|                        |____ joda-time-2.3.jar
|                        |____ joda-time-2.3.jar.sha1
|                        |____ joda-time-2.3.pom
|                        |____ joda-time-2.3.pom.sha1
|____ workspace
|    |____ hello
|    |    |____ [project files]
|    |    |____ pom.xml
|    |    |____ dependency-reduced-pom.xml
|    |    |____ target
|    |         |____ [compiled files. Nothing related to Joda, though]
|    |____ .metadata [with .plugins folder and others]

这是我的pom.xml:

<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-maven</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version>

<dependencies>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.3</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>main.java.hello.HelloWorld</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
</project>

这是我的HelloWorld.java主文件。在导入行中,我收到错误消息“导入的org.joda无法解析”。

package main.java.hello;

import org.joda.time.LocalTime;

public class HelloWorld {
    public static void main(String[] args) {
        LocalTime currentTime = new LocalTime();
    }
}

3 个答案:

答案 0 :(得分:2)

mvn eclipse:eclipse

还需要生成包含eclipse的.classpath的项目文件。

答案 1 :(得分:1)

右键单击项目,然后单击“配置”>“将项目转换为Maven项目”

答案 2 :(得分:0)

有些事要尝试。

“标记”视图中是否列出了任何Maven错误? (当然,除了缺少导入)。通常,拼写错误的Maven配置可能是导致此问题的原因。

如果没有,请尝试以下方法之一:

  1. 右键单击该项目,然后选择Maven-&gt;更新项目。

  2. 重启Eclipse。

  3. 删除错误,退出并从命令行运行“mvn clean compile”。启动Eclipse,右键单击您的项目,然后单击“刷新”。

  4. 删除错误,退出,删除m2存储库中的所有内容,然后从命令行运行“mvn clean compile”。 tart Eclipse,右键单击您的项目,然后单击“刷新”

  5. 向Lord Eclipse牺牲50头公牛。有时这是唯一的度假胜地。我不喜欢它,但替代方案是为Intellij支付额外费用。