我收到了所有导入包的错误消息“导入组织。。。。。无法解决”。我的spring和hibernate依赖关系没有得到解决。我已经尝试了多种解决方案来修复这个错误,但没有什么工作,下面是我尝试的解决方案。
maven=>更新项目,但是同样的错误。还做了=>强制更新快照/版本
我还尝试右键单击项目并选择properties,然后选择maven。取消选中“从工作区项目中解析依赖项”框,单击“应用”,然后单击“确定”
删除了我的本地maven repo.m2目录并重新启动了eclipse。
https://i.stack.imgur.com/lcuta.png
'''
<modelVersion>4.0.0</modelVersion>
<groupId>com.luv2code.springdemo</groupId>
<artifactId>spring-crm-rest</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
<properties>
<springframework.version>5.0.6.RELEASE</springframework.version>
<hibernate.version>5.4.1.Final</hibernate.version>
<mysql.connector.version>5.1.45</mysql.connector.version>
<c3po.version>0.9.5.2</c3po.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${springframework.version}</version>
</dependency>
<!-- Add Jackson for JSON converters -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.connector.version}</version>
</dependency>
<!-- C3PO -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>${c3po.version}</version>
</dependency>
<!-- Servlet+JSP+JSTL -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- to compensate for java 9 not including jaxb -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
<build>
<finalName>spring-crm-rest</finalName>
<plugins>
<!-- Builds a Web Application Archive (WAR) file from the project output
and its dependencies. -->
<plugin>
<!-- Add Maven coordinates (GAV) for: maven-war-plugin -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
</plugin>
</plugins>
</build>
'''
2条答案
按热度按时间qvtsj1bj1#
第一步需要从项目根目录中的终端运行
mvn clean install
命令。这样,您将“将包安装到本地存储库中,作为依赖项使用”。在那之后,您肯定需要刷新您的工作区并运行mvn更新5sxhfpxr2#
从你提供的图片来看,一个主要的问题是显而易见的,但我不知道你是怎么把它变成这种状态的。
默认情况下,maven项目的源目录是“src/main/java”和“src/test/java”。您的源目录似乎只是“src”,所以它在“main/java/com/…”中查找类,所以它希望包以“src.main.java.com…”开头。
您似乎以某种方式覆盖了.classpath文件中的设置。如果您在eclipse中使用maven,那么应该让m2e插件确定类路径。
据我所见,如果您删除“src”源目录并用“src/main/java”替换它,它将更有可能编译您的代码。
更新:
要在评论中回答您的问题(评论太长):
都不是。我建议将项目复制到工作区之外的位置,如果它还不在工作区之外的话。如果项目已经位于工作区之外,现在请删除项目,但不要删除内容。如果项目位于工作区内(现在已将其复制出来),则可以删除该项目。此时,转到项目位于工作区之外的位置,并从该位置删除“.classpath”文件。现在,将项目导入eclipse。如果您的项目是常规的,那么这将“重置”它到一个关于m2e的正常组织。