Java项目使用Maven编译,但Eclipse仍然显示错误

时间:2015-05-19 02:32:40

标签: java eclipse maven

我是Maven的新手,并且使用它来构建我的Java项目。我有两个问题:

  1. 我能够使用Maven成功编译我的项目,但Eclipse仍然报告编译时错误。我知道这些错误是因为我没有在Eclipse的构建路径中添加外部jar,但还有其他方法可以解决这些错误吗?
  2. 如何使用Maven运行我的Java项目?
  3. 这是我的pom.xml文件:

    <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>com.springhibernate</groupId>
      <artifactId>SpringHibernateAssignment</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <name>SpringHibernateAssignment</name>
    
      <build>
        <sourceDirectory>src</sourceDirectory>
        <resources>
            <resource>
                <directory>src</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <phase>initialize</phase>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                        <configuration>
                            <groupId>com.springhibernate</groupId>
                            <artifactId>SpringHibernateAssignment</artifactId>
                            <version>1.0</version>
                            <packaging>jar</packaging>
                            <file>${basedir}/lib/ojdbc14.jar</file>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    
        <pluginManagement>
            <plugins>
                <!--This plugin's configuration is used to store Eclipse m2e settings 
                    only. It has no influence on the Maven build itself. -->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.apache.maven.plugins
                                        </groupId>
                                        <artifactId>
                                            maven-install-plugin
                                        </artifactId>
                                        <versionRange>
                                            [2.4,)
                                        </versionRange>
                                        <goals>
                                            <goal>install-file</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
      </build>
    </project>
    

4 个答案:

答案 0 :(得分:0)

将第三方库作为依赖项放在pom.xml中。

ScrapeShield

您可以在here中找到它们。

答案 1 :(得分:0)

Eclipse的m2e插件将集成Maven,以便Eclipse根据POM.xml的内容自动包含来自本地Maven缓存的JAR。

排除所有Java源文件解释了为什么Maven的构建成功而没有任何依赖。

答案 2 :(得分:0)

如果您提到的那些罐子是公共框架,您应该能够在maven中央存储库中找到它们并将它们添加到您的项目中,就像Eranda解释的那样。如果您有无法公开发现的jar,则必须先使用maven install-file插件将它们添加到本地maven仓库:https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

答案 3 :(得分:0)

可能是你的M2_Home未设置,你能否确认。您可能正在从命令行构建项目而不是从Eclipse(Guess)构建项目。

建议:  1.设置M2_HOME。  2.从eclipse清理或构建项目,它会将所有依赖的jar添加到引用