部署maven项目遇到的一些问题

本文介绍了在部署Maven项目时可能遇到的若干问题及解决方案。包括在执行`mvn compile`无响应时,如何通过设置VM参数解决;在执行`mvn install`时,提示缺少JDK环境,需要执行`maven -update project`;针对`AbstractMethodError`关于mybatis-spring版本问题,建议升级到1.3.0以上;对于“Dynamic Web Module 3.0”错误,指出可能是由于Maven默认JDK版本过低,可通过修改`settings.xml`文件来改变Maven项目的JDK版本,以避免影响Tomcat运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果执行compile命令:

 

控制台没有任何输出信息,可以在编辑JRE时,在Default VM arguments 输入:

-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME 

 

执行mvn install 时, 如果报错:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

需要先执行  maven -  update project ,在执行命令mvn install。

 

maven常用命令:
1、mvn compile 编译,将Java 源程序编译成 class 字节码文件。
2、mvn test 测试,并生成测试报告
3、mvn clean 将以前编译得到的旧的 class 字节码文件删除
4、mvn pakage 打包,动态 web工程打 war包,Java工程打 jar 包。
5、mvn install 将项目生成 jar 包放在仓库中,以便别的模块调用

 

 如遇到上述问题:java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;就有可能是mybatis-spring (mybatis适配器)版本太低导致的,这时要试着调高版本,一般调到1.3.0以上即可。

 

如果遇到:“Dynamic Web Module 3.0 requires Java 1.6 or newer.” 而不影响tomcat 

(博主的环境是jdk1.8  maven 3.5.0   tomcat 8.0  ecplise 4.4.1)

当你用maven创建项目时,默认的jdk版本是1.5,这个你可以在eclipse 的Navigator视图里,找到当前项目的.classpath里查看

 

这个视图如果你的eclipse没有的话, 你可以自己搞出来(Windows-- Show View -- Others)

然后,我们可以看到.classpath 的maven 默认jdk版本

我这里显示的jdk1.8是我自己改过的,你们的应该是默认的jdk1.5

所以当你引入jdk 1.5以上的依赖包时,就会显示这个错误

首先提供网络资料上大部分都会说的解决方案

在报这个错的那个maven项目的pom.xml 里加上下面的依赖

<build>
		<plugins>
			<!-- 引入这个包解决Dynamic Web Module 3.0 requires Java 1.6 or newer -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

然后,你还得右键项目Maven--Update Project... 然后你这会看到叉叉消失了。

 

但是加入了这个依赖,你就不能在eclipse里 run as xxx.jsp 页面了,再也不能快速编译看到预期结果了

因为当你按之前操作那样run as xxx.jsp时,你的tomcat8.0 会报错(如果是tomcat7.0虽然会打印错误日志,但是还是能编译的),从而无法编译

至于为什么加上上面说的依赖包,tomcat 8.0 会报错,暂时也不知道,

但是有没有其他办法能做到修改maven的默认jdk版本呢?不用上面的方法,答案是有的

这就是我们直接去修改maven 的conf -- settings.xml

我们去添加以下的配置(在<profiles></profiles>标签里)

 <profile>
      <id>jdk-1.8</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target> 
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> 
      </properties>
    </profile>

这样后(默认你的eclipse是引用这份settings.xml设置的),我们就能发现eclipse里的全部maven项目里的jdk版本都变成1.8了,

那个错误也消失了,也不会触发tomcat8.0 罢工的问题。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值