解决“Dynamic Web Module 3.0 requires Java 1.6 or newer.”而不影响tomcat 8.0--连咸鱼都能学会

本文介绍了解决“DynamicWebModule3.0requiresJava1.6ornewer”错误的方法,通过修改maven的settings.xml文件而非pom.xml文件来避免影响Tomcat运行。

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

哈喽,这期博客我们来讲讲如何 解决“Dynamic Web Module 3.0 requires Java 1.6 or newer.” 而不影响tomcat

最近在做项目的时候,遇到了这个问题,跟大家分享下

(博主的环境是jdk1.8  maven 3.5.2   tomcat 8.0  ecplise 2017 java ee)

在做项目时,看到项目上一个鲜红的叉叉,顿时一顿头大,查了下资料,发现这个问题是

当你用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 罢工的问题,可喜可贺啊

好啦,这期博客到这里了,溜了



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值