Tl; dr我是一名初级顾问,我正在将JBoss从一个非常老的版本迁移到7.0。由于该项目使用的是非常老的依赖关系,因此我决定在使用它时应该更新那些依赖关系。我的老板同意,我在这里。
一切都可以很好地更新依赖关系,但是当我进入编译部分时,我遇到了这个问题:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:compile (default-compile) on project devoteam-common: Compilation failure: Compilation failure:
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[12,36] package org.springframework.mock.web does not exist
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[13,36] package org.springframework.mock.web does not exist
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[14,36] package org.springframework.mock.web does not exist
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[15,36] package org.springframework.mock.web does not exist
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[28,30] cannot find symbol
[ERROR] symbol: class MockServletContext
[ERROR] location: class com.devoteam.common.ihm.test.BaseStrutsTestCase
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[29,30] cannot find symbol
[ERROR] symbol: class MockServletConfig
[ERROR] location: class com.devoteam.common.ihm.test.BaseStrutsTestCase
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[30,23] cannot find symbol
[ERROR] symbol: class MockHttpServletRequest
[ERROR] location: class com.devoteam.common.ihm.test.BaseStrutsTestCase
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[31,23] cannot find symbol
[ERROR] symbol: class MockHttpServletResponse
[ERROR] location: class com.devoteam.common.ihm.test.BaseStrutsTestCase
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[53,88] no suitable method found for createActionProxy(java.lang.String,java.lang.String,<nulltype>,boolean,boolean)
[ERROR] method com.opensymphony.xwork2.ActionProxyFactory.createActionProxy(java.lang.String,java.lang.String,java.lang.String,java.util.Map<java.lang.String,java.lang.Object>) is not applicable
[ERROR] (actual and formal argument lists differ in length)
[ERROR] method com.opensymphony.xwork2.ActionProxyFactory.createActionProxy(java.lang.String,java.lang.String,java.lang.String,java.util.Map<java.lang.String,java.lang.Object>,boolean,boolean) is not applicable
[ERROR] (actual and formal argument lists differ in length)
[ERROR] method com.opensymphony.xwork2.ActionProxyFactory.createActionProxy(com.opensymphony.xwork2.ActionInvocation,java.lang.String,java.lang.String,java.lang.String,boolean,boolean) is not applicable
[ERROR] (actual and formal argument lists differ in length)
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[59,39] incompatible types: java.util.HashMap cannot be converted to org.apache.struts2.dispatcher.HttpParameters
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[67,31] cannot find symbol
[ERROR] symbol: class MockHttpServletRequest
[ERROR] location: class com.devoteam.common.ihm.test.BaseStrutsTestCase
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[68,32] cannot find symbol
[ERROR] symbol: class MockHttpServletResponse
[ERROR] location: class com.devoteam.common.ihm.test.BaseStrutsTestCase
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[82,42] cannot find symbol
[ERROR] symbol: class MockServletContext
[ERROR] location: class com.devoteam.common.ihm.test.BaseStrutsTestCase
[ERROR] /D:/Java/repository/DEVOTEAM-COMMON/src/main/java/com/devoteam/common/ihm/test/BaseStrutsTestCase.java:[88,54] cannot find symbol
[ERROR] symbol: class MockServletConfig
[ERROR] location: class com.devoteam.common.ihm.test.BaseStrutsTestCase
[ERROR] -> [Help 1]
在eclipse中,错误列出的类中的内容为:“无法解析导入org.springframework.mock”。
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>devoteam</groupId>
<artifactId>devoteam-common</artifactId>
<version>1.0</version>
<properties>
<project.build.sourceEncoding>Cp1252</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>X</id>
<name>X</name>
<url>X</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>X</id>
<name>X</name>
<url>X</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.20</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-sitemesh-plugin</artifactId>
<version>2.5.20</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.5.20</version>
</dependency>
<!-- Servlet & Jsp -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.3.1.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.4.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager
</artifactId>
<version>3.4.0.GA</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.8</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.8</version>
<!-- jboss 5.1 deployment -->
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
<!-- jboss 5.1 deployment -->
<scope></scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0.8</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>package</defaultGoal>
<finalName>devoteam-common</finalName>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-filtering</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interpolation</artifactId>
<version>1.25</version>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-build-api</artifactId>
<version>0.0.7</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.12.0</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>1.5</targetJdk>
<excludes>
<exclude>**/*Bean.java</exclude>
<exclude>**/generated/*.java</exclude>
</excludes>
<excludeRoots>
<excludeRoot>target/generated-sources/stubs</excludeRoot>
</excludeRoots>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
我认为某些依赖项/插件可能与我使用的某些版本不兼容?
有人可以帮我吗?有点像Java / spring / maven的新手,所以我边走边学,我必须说我很喜欢这种体验,但是我不能指责这里的问题:p